【发布时间】:2016-08-29 14:00:06
【问题描述】:
我有以下程序。
package main
import (
"fmt"
)
func main() {
for i := 0; i < 2; i++ {
x := 77
fmt.Println(x)
}
}
执行时我得到:
77
77
正如我们所见,x := 77 已经执行了 2 次。但是,如果我像这样稍微修改一下:
package main
import (
"fmt"
)
func main() {
a := 77
fmt.Println(a)
a := 77
fmt.Println(a)
}
我将收到错误“:= 左侧没有新变量”。为什么会这样?
【问题讨论】:
-
这真的不是 Golang 特有的。对于任何语言,它的行为都相似。