前言
第一眼看Kotlin的示例代码,突然发现没有分号。这个事情就值得商榷了
看两个范例
范例一
fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int
return a + b
}
范例二
fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int
return a
+ b
}
这两个都是可以编译通过的。
但是,同样以sum(1, 4)为例。
范例一:输出 5
范例二:输出1
这跟JavaScript的写法很像,Js同样有这样的问题
其实,kotlin会自动补全分号,你可以加也可以不加。
加分号,你会发现lint提示你。
其实,GoLang也是没有分号的,它认为加分号完全没必要。
对。其实但凡是这种没分号的语言,都认为分号是没有必要的。但是,很多时候,编译器会自动补全分号。
没有分号,意味着你需要更加注意格式。
比如下面这样
a = b; a1 = c + 2; b = c * 5 + a & 2;
就比较难看了,但
a = b
a1 = c + 2
b = c * 5 + a & 2
better
版权声明:本文为wangxueming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。