说明
本文介绍 Go 语言中,变量&常量定义与作用域
变量定义
变量定义有以下三种方式
go
func main() {
// 1.先声明,再赋值
var name string
name = "小何"
fmt.Print(name)
// 2.1.声明并赋值
var age int = 18
fmt.Print(age)
// 2.2.简写
var height = 1.75
fmt.Print(height)
// 3.省略var关键字
sex := "男"
fmt.Print(sex)
}
定义多个变量如下
go
// 方式一
var a, b, c = 1, 2, 3
fmt.Print(a, b, c)
// 方式二
d, e, f := 4, 5, 6
fmt.Print(d, e, f)
// 方式三
var (
g = 7
h = 8
i = 9
)
fmt.Print(g, h, i)
常量定义
常量指而不能被再次赋值的变量,使用 const 定义,如下
go
// 方式一
const version string = "1.0.0"
// 简写
const name = "小何"
// 方式二
const (
name = "小何"
age = 18
)
作用域
变量作用域分为全局、局部,简单区分如下:
-
全局:花括号外面的;
-
局部:花括号里面的;
另外,需要注意的是,全局变量有以下特点:
-
只能用声明并赋值的方式定义;
-
变量允许定义不使用;
如下

跨包访问
跨包访问的变量、函数名,首字母要大写,否则编译不通过

go.mod
go.mod 文件,记录该项目的模块信息、Go 版本信息,如果有跨包访问的情况,必须需要有该文件
如下,
