变量
1.声明变量
1.1 标准格式
1.1.1 var关键字定义变量
格式
说明
变量声明以关键字 var
开头,后置变量类型,行尾无需分号
var关键字可以用于声明全局变量
var 变量名 变量类型
示例
var name string
1.2 批量格式
var (
a int
b string
c []float32
d func() bool
e struct{
x int
}
)
2.初始 化变量
说明
go语言再声明变量时,自动对变量对应的内存区域进行初始化操作,每个变量会初始化其类型的默认值,例如
- 整型和浮点型变量的默认值为0
- 字符串变量的默认值为空字符串
- 布尔型变量默认值为
false
- 切片、函数、指针变量默认值为
nil
2.1 标准格式
格式
var 变量名 类型 = 表达 式
示例
var hp int = 100
2.2 编译器推导类型格式
格式
说明
在标准格式的基础上,将int省略后,编译器会尝试根据等括号右边的表达式推导hp变量的类型
var hp = 100
示例
var attack = 40
var damageRate float32 = 0.17
var name = xiaoming
2.3 短变量声明并初始化
var变量声明还有一种更为精简的写法,这是go语言的推导声明写法,编译器会自动根据右边表达式的值推断出相对应的类型
格式
说明
在函数内部,可以使用更简略的 :=
方式声明并初始化变量
由于使用了 :=
,而不是赋值的 =
,因此推导声明写法的左值变量必须是咩有定义过的变量,若定义过,将会发生编译错误
短变量只能用于声明局部变量,不能用于声明全局变量
变量名 := 表达式
示例
hp := 10
错误示例
package main
import "fmt"
func main() {
// 声明变量
var hp int
// 再次声明并赋值
hp := 10
fmt.Println(hp)
}
执行报错
no new variables on left side of :=
3.匿名变量
匿名变量就是没有名字的变量
匿名变量的表现是一个 _
下划线,使用匿名变量时,只需要在变量声明的地方使用 _
替换即可
示例