访问同一文件/包中的全局变量

时间:2019-07-17 15:31:53

标签: go

考虑以下代码

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上有关于从不同包访问全局变量的文章,但我找不到在同一文件/包中访问全局变量的任何信息

1 个答案:

答案 0 :(得分:0)

  

如何打印全局变量值40?

不要遮盖它。或者,如果您绝对必须对其进行阴影处理(但是为什么呢?),请先将其重新分配给另一个变量。

func main() {
    originalGlobal := global
    var global int = 30
    fmt.Println(originalGlobal)
}