Go 语言变量作用域学习笔记
变量作用域简介
变量作用域指的是程序内可以直接访问到该变量的区域。在 Go 语言中,变量的作用域分为两种:全局作用域和局部作用域。
- 全局作用域:定义在函数外部或是包级别范围内的变量拥有全局作用域,可以被整个程序访问。
- 局部作用域:定义在一个函数或语句块内的变量拥有局部作用域,只能在声明它的函数或语句块中使用。
实例演示
goCopy Codepackage main
import "fmt"
var a = 10 // 全局变量
func main() {
var b = 20 // 局部变量
fmt.Printf("a = %d, b = %d\n", a, b)
test()
}
func test() {
fmt.Printf("a = %d\n", a)
//fmt.Printf("b = %d\n", b) // 此处无法编译通过,因为变量 b 的作用域只在 main 函数中
}
在上面这个例子中,变量 a
是全局变量,可以被所有函数访问;变量 b
是在 main
函数中声明的局部变量,只能在 main
函数中使用。
在 test
函数中,我们尝试访问变量 b
,但编译器会报错,因为在 test
函数中无法访问 main
函数内的局部变量。
总结起来,变量作用域在 Go 语言中非常重要,我们需要合理利用全局变量和局部变量,减少变量的冲突和误用。