go变量作用域

变量 作用域 表示变量的 可访问性

根据作用域的大小一般分为全局变量与局部变量

声明在函数内部的变量称为局部变量, 声明在函数外部的变是全局变量

还有声明在代码块中的变量也称为局部变量

大括号中的代码称为语句块, 直接大括号或者for循环或者if语句块等

func main() {
    
}

a := 100         // 全局变量
A := 200         // 全局变量

func test() {
    j := 10        // 局部变量(相对于i和k又称为全局变量)

    for i:=0; i<10; i++ {     // 局部变量
        k := 2*i              // 局部变量
    }
}

全局变量和局部变量只是相对的, 都很好理解

全局变量在同一个包中, 不能重名

一个文件中定义了某全局变量(不需要大写开头), 在同包的另一个文件中可直接使用

不同的包中使用全局变量 -- 包名.全局变量(需要大写开头)

 

就近原则

局部变量和全局变量名称可以相同

优先使用局部变量, 局部变量永远更"近"

package main

import "fmt"

var a = 100

func main() {
    var a int                 // 定义a变量
    for a := 0; a < 10; a++ { // 也定义了a变量
    }
    fmt.Println(a)
}

结果为0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值