为什么“var”不能用于Go中的for循环?

为什么“var”不能用于Go中的for循环?,go,Go,我是新手,有个问题 据我所知,以下两个片段基本相同 i:=0 变量i=0 但为什么不能在for循环中使用var语句呢 for var i = 0; i < 10; i++ { //do something } 将出现语法错误:initializergo中不允许使用var声明 为什么它是这样设计的?里面有什么想法吗 如果有人能告诉我,我将不胜感激。中的初始化声明不能是任何类型的声明,但必须是此类声明中的一种,即您所看到的工作状态 至于原因,它就像Go语言中的许多其他选择一样:保持代

我是新手,有个问题

据我所知,以下两个片段基本相同

i:=0 变量i=0 但为什么不能在for循环中使用var语句呢

for var i = 0; i < 10; i++ {
    //do something
}
将出现语法错误:initializergo中不允许使用var声明

为什么它是这样设计的?里面有什么想法吗


如果有人能告诉我,我将不胜感激。

中的初始化声明不能是任何类型的声明,但必须是此类声明中的一种,即您所看到的工作状态


至于原因,它就像Go语言中的许多其他选择一样:保持代码可读性并看起来像其他开发人员的Go代码:如果您可以在这里放置任何类型的语句,for循环并不总是容易识别的,并且会混合循环初始化以外的关注点

我想是为了简单?为什么要在init语句中使用var,因为您总是给它一个初始值。因此类型总是隐式的。因为语言规范这么说。原因:主要是基于观点的。你的回答是一种意见。