• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    go语言 全局变量和局部变量实例

    一、局部变量

    1 定义在{}里面的变量时局部变量,只能在{}里面有效

    2 执行到定义的那句话,开始分配内存空间,离开作用域自动进行释放

    3 作用域,就是变量作用的范围

    package main 
    import "fmt" 
    func test() {
     i := 111
     fmt.Println("i=", i)
    }
     
    func main() { 
     test()
     {
     i := 10
     fmt.Printf("i=%v\n", i)
     }
     // i=12 错误
     
     if flag := 3; flag == 3 {
     fmt.Println("flag=", flag)
     }
     //fmt.Println("flag=", flag) 错误
    }

    二、全局变量

    1 定义在函数外部的变量称为全局变量

    2 全局变量在任何地方都可以进行使用

    package main 
    import "fmt" 
    func test() {
     fmt.Println("a= ", a)
    }
     
    var a int 
    func main() {
     a = 12
     fmt.Println("a= ", a)
     test()
    }

    三、不同作用域中,同名变量

    1 不同的作用域,允许定义同名的变量

    2 使用变量的原则,就近原则,如果局部变量没有,就去全局变量中找

    package main 
    import "fmt"
     
    //定义一个全局变量
    var a byte 
    func main() { 
     var a int
     fmt.Printf("1: a type is %T\n", a) //int
     
     {
     var a float32
     fmt.Printf("2: a type is %T\n", a) // float32
     }
     
     test()
    }
     
    func test() {
     fmt.Printf("3: a type is %T\n", a) //uint8
    }

    补充:golang全局变量的坑-尽量别用全局变量

    看图片吧~

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • 详解Go语言变量作用域
    • go语言的初始化顺序,包,变量,init详解
    • go语言的工作空间和GOPATH环境变量介绍
    • Go语言变量创建的五种方法
    • go语言同步教程之条件变量
    • Go语言基本的语法和内置数据类型初探
    • Go语言变量与基础数据类型详情
    上一篇:go语言 bool类型的使用操作
    下一篇:golang中json的omitempty使用操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    go语言 全局变量和局部变量实例 语言,全局,变量,和,局部,