前言
第一眼看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