我實際上是新手,我無法找到如何覆蓋 Go 中變量的范圍考慮這個...package mainimport ( "fmt")var x = 10var a int = 10func main() { var a int = 20 fmt.Println(a)}當我運行它時,輸出為 20,這意味著它實際上打印了局部范圍變量如何在主函數中顯示全局變量“a”
1 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
你在做什么叫做“變量陰影”。如果你想訪問全局變量,唯一的選擇就是不隱藏它!
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
}
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消