我实际上是新来的,我无法找到如何覆盖go中变量的作用域
想想这个..。
package main
import (
"fmt"
)
var x = 10
var a int = 10
func main() {
var a int = 20
fmt.Println(a)
}当我运行它时,输出为20,这意味着它实际上打印了局部变量。
如何在主函数中显示全局变量a
发布于 2019-01-01 17:31:59
你所做的就是所谓的“可变阴影”。如果您想访问全局变量,唯一的选择就是不要隐藏它!
var a int = 10
func main() {
var localA int = 20
fmt.Println(a) // 10
fmt.Println(localA) // 20
}当然,在隐藏之前,可以将全局值保留在不同的局部变量中。我无法想象这会在什么时候有用
var a int = 10
func main() {
globalA := a
var a int = 20
fmt.Println(a) // 20
fmt.Println(globalA) // 10
}https://stackoverflow.com/questions/53997412
复制相似问题