package main
import (
"fmt"
)
var (
A = 1 //全局变量,一般建议大写字母,所有地方可以访问,跨 package 访问时需要带上 package 名称
B = 2
C = 3
)
func main() {
A := 4 //局部变量,仅本函数内部访问,内部声明的变量可以和外部声明的变量冲突(即同名),以内部的变量为准
{
B := 5 //仅 {} 圈定的作用域内可以访问,支持与外部的变量冲突(即同名)
fmt.Printf("A = [%d]\n\rB = [%d]\n\rC = [%d]\n\r", A, B, C) //A 为 mian 函数内部定义的;B 为内部定义的;C 为全局定义的
}
fmt.Println("-----------------------")
fmt.Printf("A = [%d]\n\rB = [%d]\n\rC = [%d]\n\r", A, B, C) //A 为 mian 函数内部定义的;B 为全局定义的;C 为全局定义的
}
以上实例执行结果为:
A = [4]
B = [5]
C = [3]
-----------------------
A = [4]
B = [2]
C = [3]