我是 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 关注
- 73 浏览
添加回答
举报
0/150
提交
取消