为啥 Swift 的句子不以分号结尾

只是用换行符(如 \, \\r, \\r\, ... )作为分隔符而已。如果取用某一个可直接输入的字符作为分隔符,那样用户就可以自己决定什么时候分隔,喜欢怎么写就怎么写,space free;但是如果用换行符作为分隔符,那样语句的分割就必须通过换行来做,有时候还不能随便换行,像Python里就不能1 +(2 + 3)这个符号纯粹就是给人看的,编译器根本不 Care 你用什么符号作为分隔符。像 Go 就是你想写分号也可以,不写也可以。Rust 就要求必须写。这成为不了什么趋势的,各有千秋。
■网友
有不少语言都不需要分号,例如R分号是给人看的,编译器从来都能提示你忘记分号
■网友
就跟平常打字一样,如果我说了很久一个标点符号不加,可读性很差。但是如果换行了,标点就能省略了。就跟平常打字一样如果我说了很久一个标点符号不加可读性很差但是如果换行了标点就能省略了
■网友
python也不用,和语言的编译有关吧
■网友
【为啥 Swift 的句子不以分号结尾】 来看这个例子
int i = 0;int b = i * 3;词法分析会把它拆分成
\u0026lt;id,1\u0026gt; //第一个变量\u0026lt;assign_op \u0026gt; //assign operator = \u0026lt;Number\u0026gt; //常数number 0\u0026lt;id,2\u0026gt; //第二个变量\u0026lt;assign_op\u0026gt; //assign operator =\u0026lt;id,1\u0026gt;\u0026lt;mult_op\u0026gt; //multiple_operator *\u0026lt;Number\u0026gt; //常数值3所以实际上不存在;对应的语法单元,所以无法解析成对应的词素,不过为了可读性以及规范化输入,很多语言对分号加入了限制

■网友
分号是为了区分同一行多语句的划分,如果一行仅有一个,写不写都无所谓
■网友
省下每一句分句打分号的时间,因为反正swift能推导很多东西。。。分号这种每句都要的自然就不需要了。编译器自己就能明白
■网友
你为啥不问以前的语言每句后面要带分号


    推荐阅读