我是 Go 新手,有一個問題。據我所知,以下兩個片段基本相同。i := 0var i = 0但是為什么不能var在for循環中使用語句呢?for var i = 0; i < 10; i++ { //do something}將會有一個syntax error: var declaration not allowed in for initializergo為什么要這樣設計呢?這里面有什么想法嗎?如果有人能告訴我,我將不勝感激。
1 回答

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
這種形式的for
子句中的初始化語句不能是任何類型的語句,但必須是“簡單語句”(此類語句的一種情況是您看到的“短變量聲明” )。
至于原因,就像 Go 語言中的許多其他選擇一樣:保持您的代碼可讀并且看起來像其他開發人員的 Go 代碼:如果您可以在此處放置任何類型的語句,則循環并不總是很容易for
識別(并且會混合循環初始化以外的問題)。
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消