< 返回版块

寝鬼社畜 发表于 2019-10-18 10:39

啥时候该用逗号啊,进入各种选项的时候?

评论区

写评论
作者 寝鬼社畜 2019-10-20 16:56

谢谢解答,我这就去好好看看~ 对以下内容的回复:

FuGangqiang 2019-10-19 21:59

rust 中分号(;)是用来结束语句(statement)的,这个作用与 c 一样, 之所以在你所说的地方用逗号而不是分号是因为那些地方不是语句的结束位置。

至于为什么那些地方用逗号,这个是 rust 的语言规范定义需要这样做:

可以查看 rust reference 的文档,rust 中语句定义是statements.html, 你 enum 例子属于其中的 Item,而 match 例子属于其中的 ExpressionStatement, 在具体的定义需要看 enumerations.htmlmatch-expr.html了,定义中定义了那些地方需要用逗号。

至于设计的好处吗? 我猜应该是语言惯例吧,一般语句未结束通常用逗号、|、空格、换行以及各种括号来分割,而 rust 语言中在你说的那些位置选择了用逗号来分割,而未选择用其他符号。

至于其他运用逗号的地方,需要认真学习查看语言语法、规范。

作者 寝鬼社畜 2019-10-19 19:50

谢谢您指出我的问题所在,我的确是不太会问问题...我现在再补充一下描述 例如 #enum IpAddrKind { #V4, #V6, #} 为什么不使用分号而使用逗号,这样设计有什么好处吗,还有在match xxx后的 #match coin #{

Coin::Penny => {

println!("Lucky penny!");

1 },

Coin::Nickel => 5,

Coin::Dime => 10,

Coin::Quarter => 25,

#} 也是没搞懂,为什么要使用逗号...目前只学过c语言,习惯性认为语句后面应该打分号才是。 诸如此类不用分号而是用逗号的情况还有其他地方吗,还是只存在于枚举啊... 谢谢了,求大佬解答~ 对以下内容的回复:

Mike Tang 2019-10-19 00:06

问问题也体现一个人的基本素质,你问题都描述不清楚,别指望别人给你回答。

1 共 4 条评论, 1 页