gpt4 book ai didi

go - golang 中的词法范围?

转载 作者:IT王子 更新时间:2023-10-29 00:49:42 26 4
gpt4 key购买 nike

不太明白为什么a最后不是2:

func main (){
z := 4
if true {
z := 2
fmt.Println(z)
}
fmt.Println(z) // prints 4
}

最佳答案

z 正在获取 shadowed .将 := 更改为 = 即可。

func main (){
z := 4
if true {
z = 2
fmt.Println(z)
}
fmt.Println(z) // prints 2
}

if 语句有它自己的作用域,当您使用 := 时,您声明了一个新变量并隐藏了旧变量。

关于go - golang 中的词法范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28376340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com