考虑以下代码
package main
import (
"fmt"
)
var global int = 40
func main() {
var global int = 30
fmt.Println(::global) // In C++ this would print 40
}
如何打印全局变量值40? SO上有关于从不同包访问全局变量的文章,但我找不到在同一文件/包中访问全局变量的任何信息
答案 0 :(得分:0)
如何打印全局变量值40?
不要遮盖它。或者,如果您绝对必须对其进行阴影处理(但是为什么呢?),请先将其重新分配给另一个变量。
func main() {
originalGlobal := global
var global int = 30
fmt.Println(originalGlobal)
}