不了解变量

我对变量感到困惑。情况1:


package main

var a = "F"

func main() {

  n()

  m()

  n()

}

func n() {

    print(a)

}

func m() {

  a = "O"

  print(a)

}


结果 = FOO


但是当我改变a = "O"(var a = "O"或a := "O")结果是FOF。


泛舟湖上清波郎朗
浏览 203回答 1
1回答

慕容森

var a = "O"并且a := "O"都声明了新变量。这意味着a内部变量与全局变量m不同a,因此将其设置为O不会更改全局变量的值。如果它们在不同的范围内,您可以像这样隐藏变量,在这种情况下就是这样。一个在全局范围内,一个在m函数范围内。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go