谁说return能省略了?
return a+b;
和
a+b
你仔细看看,这两个完全不是一回事好嘛。
前者是一个statement,后者是一个expression。statement一定有分号结尾,expression一定不能有分号。
两者能使用的场合也是完全不同的。statement是过程式的风格,而expression是函数式的风格。rust鼓励函数式的风格,但对过程式也做了兼顾。它不鼓励你用return,但如果你用了return,那这个函数就是过程式的。这可不是return能省略这么简单。
不信你在if then else里面省略其中一个分支的return试试看,看看编译器让不让过。
rust在各方面都非常的严谨,而且这个严谨是深入它的设计哲学的。如果你觉得你发现了它哪里不严谨,别怀疑,肯定是你错了。
【 在 dismoon 的大作中提到: 】
: 我真心建议C的编译器用rust的安全标准重写一遍,不要盲目安利rust,语法明显没有C严谨,就一个return能省略就让我相当不爽
:
--
修改:lvsoft FROM 180.158.48.*
FROM 180.158.48.*