美文网首页
golang变量的作用域测试

golang变量的作用域测试

作者: Odven | 来源:发表于2020-06-20 23:12 被阅读0次

    1) 测试代码

    1. example1.go
    package main
    
    import (
            "fmt"
    )
    
    var a string  // 定义一个string类型的全局变量a
    
    func main() {
        a = "male"
        fmt.Println(a)
    
        f1()
    }
    
    func f1() {
        // var a string = "female"  // 这个是一条语句,定义一个局部变量a
        a := "female" // 这个是两条语句  var a string  ;   a =  "female",虽然和上面的效果一样,但是是不一样的
        fmt.Println(a)
    
        f2()
    
        for i := 1; i < 2; i++ {
            fmt.Println(a)
        }
    
        f2()
    
    }
    
    func f2() {
        fmt.Println(a)
    }
    
    执行测试:
    go run example1.go
    male
    female
    male
    female
    male
    
    
    2. example2.go
    package main
    
    import (
        "fmt"
    )
    
    var a int = 100
    
    func modify()
        //a = 10  // 这个是改变了全局变量a的值
        a := 10  // 这个是先创建一个局部变量a,然后赋值为10,没有修改全局变量a
        fmt.Println("在modify函数里a=", a)
    }
    
    func main() {
        modify()
        fmt.Println(" 在main函数里a=", a)
    }
    
    执行测试
    go run example2.go
    在modify函数里a= 10
    在main函数里a= 100
    

    相关文章

      网友评论

          本文标题:golang变量的作用域测试

          本文链接:https://www.haomeiwen.com/subject/kfsnxktx.html