另一个初学者对golang的问题:
我可以写:
for i := 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
但如果我想i成为一个特定的类型int64,显然我不应该写:
for var i int64 = 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
我很惊讶我无法在for循环的start语句中指定一个类型.我需要写这样的东西:
var i int64
for i = 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了一点吗?它有什么解释吗?
Not*_*fer 10
for循环的语言规范声明:The init statement may be a short variable declaration,它是表单的赋值,i := 0但不是表单的声明var i = 0.至于背后的原因 - 我猜测语言简单.请参见此处:http://golang.org/ref/spec#For_statements
BTW您可以这样做:
for i := int64(0); i < 10; i++ {
// i here is of type int64
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3338 次 |
| 最近记录: |