我只是新的學習圍棋,當我嘗試我的第一個Hello World這種風格:去編程語言支架對風格
func main()
{
...somemagic...
}
和各6g編譯器說這是錯誤的。
但是這種風格:
func main(){
...somemagic...
}
這是確定的。
Go是第一對支架樣式非法嗎?
我只是新的學習圍棋,當我嘗試我的第一個Hello World這種風格:去編程語言支架對風格
func main()
{
...somemagic...
}
和各6g編譯器說這是錯誤的。
但是這種風格:
func main(){
...somemagic...
}
這是確定的。
Go是第一對支架樣式非法嗎?
是的。這是Go中的automatic semicolon insertion的結果。
順便說一下,Go開發者使用gofmt
格式化他們的代碼並遵循格式。
只是爲了擴大在這方面,Go開發人員採取了這種立場,因爲它使不同的代碼庫更加一致(風格上),更重要的是,單個代碼庫更加一致。它還允許開發人員完全避免使用靈活的語法規則的語言bikeshed-bait,以哪種方式爭論是正確的/正確的/正確的方式。 – Kitsune 2012-02-02 17:10:58
是的,由於semicolon injection rules,第一種形式無法工作。
重複http://stackoverflow.com/questions/7062276/why-cant-i-put-the-opening-braces-on-the-next-line和可能的一堆其他類似的問題 – kostix 2012-01-16 15:30:03