For 循环初始化语句中的变量初始化
想知道为什么可以使用简写 i 在 for 循环的初始化语句中声明变量: = 0 但 var i = 0 时则不然?
Go 编程语言规范规定for 循环中的初始化语句可以包含短变量声明 (i := 0)。这是在单个语句中声明变量并分配初始值的简洁方法。但是,在此上下文中不允许使用 var 进行完整变量声明。
这种设计选择的原因可能是为了保持语言语法的简单和一致。 For 循环通常用于迭代序列,简写符号允许在循环内进行高效的变量初始化和赋值。
尽管在初始化语句中使用 var 受到限制,但还有其他方法来声明变量具有特定类型并在循环中使用它。例如,您可以在循环外声明变量:
var i int64 = 0 for ; i < 10; i++ { // ... }
或者,您可以在初始化期间强制转换变量:
for i := int64(0); i < 10; i++ { // i is now of type int64 }
以上是为什么在 Go 的 For 循环初始化中不能使用 var 声明变量?的详细内容。更多信息请关注PHP中文网其他相关文章!