例如
package main
import "fmt"
const s string = "constant"
func main() {
const s = 0
fmt.Println(s)
}
实际打印
0
然而我宣称它是"常数"在主要之前。
我以为你无法改变常数。如果不是这样,为什么不使用其他类型?
答案 0 :(得分:8)
这是main
范围内的新常量。它不会改变外部范围中的那个。查看阴影。
这个程序很好地证明了这一点:
package main
import "fmt"
func main() {
const a = 0
fmt.Println(a)
{
const a = 1
fmt.Println(a)
}
fmt.Println(a)
}
输出如下:
0
1
0