函数变量作用域
# 2. 函数变量作用域
# 2.1 全局变量
全局变量是**定义在函数外部的变量,它在程序整个运行周期内都有效。**在函数中可以访问到全局变量。
package main
import "fmt"
//定义全局变量 num
var num int64 = 10
func main() {
fmt.Printf("num=%d\n", num) // num=10
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 2.2 局部变量
局部变量是函数内部定义的变量, 函数内定义的变量无法在该函数外使用。
例如下面的示例代码 main 函数中无法使用 testLocalVar 函数中定义的变量 x
package main
import "fmt"
func main() {
// 这里name是函数test的局部变量,在其他函数无法访问
//fmt.Println(name)
test()
}
func test() {
name := "zhangsan"
fmt.Println(name)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 2.3 for 循环语句中定义的变量
for 循环语句中定义的变量,也是只在 for 语句块中生效。
package main
import "fmt"
func main() {
testLocalVar3()
}
func testLocalVar3() {
for i := 0; i < 10; i++ {
fmt.Println(i) //变量 i 只在当前 for 语句块中生效
}
// fmt.Println(i) //此处无法使用变量 i
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2022/06/12, 15:48:09