美文网首页
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变量的作用域测试

    1) 测试代码

  • Golang须知

    变量的包作用域在Golang中,同个package中的非局部变量,可以认为是package作用域,可在packag...

  • Learn Golang in Day 8

    Learn Golang in Day 8 变量作用域 局部变量 全局变量 形参也是局部变量 局部变量 函数内部声...

  • postman

    postman 变量分类:普通变量、数据变量、环境变量、测试集变量、全局变量作用域范围:普通<数据<环境<测试集<...

  • 第四章 作用域和内存问题

    变量的作用域? 变量作用:起作用域:区域,范围变量起作用的地方 变量的生命周期,变量生于这个作用域,死于这个作用域...

  • golang := 变量作用域 (坑)

    此时 := 不能修改全局变量的值,在该作用域里并没有定义时, := 会是创建新变量.for循环的里的err 不影响...

  • JS作用域链

    作用域 变量的作用域 变量的作用域有两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,...

  • 【前端】-023-JavaScript-进阶篇-变量作用域

    变量作用域 JavaScript中变量的作用域 采用静态作用域(变量定义的位置决定了变量的引用) 没有块级作用域,...

  • js中作用域与作用域链

    js中作用域与作用域链 作用域 *作用域基本概念 作用域一般指变量的作用范围,变量分为全局变量和局部变量,对应的作...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

网友评论

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

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