一、变量声明方式:1)标准格式 2)批量格式 3)简短格式
简短类型,被广泛应用于局部变量的定义与初始化。var声明用于需要显示指定变量类型的地方,或者变量稍后会赋值即初始值无关紧要的地方。
1)标准格式
var 变量名 变量类型
实例: var num int
2)批量格式
var (
变量名1 变量类型1
变量名2 变量类型2
...
)
实例:
var (
gTotalSize int
gCurSize int
sName string
)
3)简短格式
变量名 := 表达式
***简短格式,使用限制:***
=>定义变量,同时要显示初始化
=>不能提供数据类型
=>只能用在函数内部
实例:
func main() {
i,j := 0,0
...
}
二、变量初始化
变量声明(若无初始化值),go会自动给变量初始化为默认值。整数位0,字符串为空字符串,切片,函数,指针为nil
变量初始化方式,已在声明中体现。这里不做介绍。
三、变量赋值
就是使用“=”,将右值赋给左值。只不过go支持多变量同时赋值。
举例:比如交换两个整数变量,那么不用借助于第三个temp临时变量,go直接多变量赋值,便可以实现。
var a int = 100
var b int = 200
a,b = b,a //此时,a为200,b为100
四、匿名变量
使用下划线“_”,代替变量名,就可以实现匿名变量(所谓匿名变量即没有名称的变量,只做站位,后续不会使用)。
比如,数组使用for...range循环,当我们不关心下标时候,就可以将下标设置为匿名变量
arr1 := []int{1,3,5,7,9}
for _,v := range arr1 {
//第一个参数为下标,匿名变量,丢弃了这个数
fmt.Println(v)
}
五、变量作用域
go变量有三种作用域:局部变量(函数内定义)、全局变量(函数外定义)、形参变量(函数定义)
Go语言程序中全局变量与局部变量名称可以相同,但是函数体内的局部变量会被优先考虑。