点滴记忆---观雨亭
golang函数中定义的变量范围
2020-7-8 eehello


除了全局变量,函数中定义的变量只能在此函数中调用,即使此函数调用了其它函数,也不能把此变量传递过去。只能通过赋予参数的形式传递出去。


package main

var a string

func main() {
    a = "G"
    println("main a is:", a)
    f1()

    var b string = "111"
    //可以通过赋予参数的形式传给f3函数
    f3(b)
}

func f1() {
    a := "O"
    //b := "111"
    println("f1 a is:", a)
    //最开始我以为f1函数中重新定义的a的值会传 给f2,事实上是我错了。
    f2()

}

func f2() {
    println("f2 a is :", a)
    //println("b is:", b)
}

func f3(b string) {
    println("f3 b is:", b)
}


最终输出结果为:
    main a is: G
    f1 a is: O
    f2 a is : G
    f3 b is: 111


发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容