什么是变量
变量是几乎所有编程语言中最基本的组成元素。
变量相当于是对一块数据存储空间的命名,程序可通过定义一个变量来申请一个数据存储空间,然后可以通过引用变量名来使用这块存储空间。
变量声明
Go语言中对于纯粹的变量声明用关键字“var”,变量类型放在变量名称后面。
var v1 int
var v2 string
var v3 [10]int //数组
var v4 []int //数组切片
var v5 struct {
f int
} //类
var v6 *int //指针
var v7 map[string]int //字典,key为string类型,value为int类型
var v8 func(a int) int
“var”关键字的另一个用法是可以将若干个需要声明的变量放到一起,这样可以不用写那么多的“var”。
var (
v1 int
v2 string
)
变量初始化
可以在变量声明的同时进行初始化。
var v1 int = 10
var v2 = 10
v3 :=10
:= 用于同时进行变量声明和变量赋值。第三种声明方式不能用于声明全局变量
指定类型不再是必须的。Go编译器可以从初始化表达式的右值推导出该变量应该声明为哪种类型。
出现在:=左边的变量不应该是已经被声明过的,否则会导致编译错误。
var v1 int
v1 := 10
这样运行会报错:“no new variables on left side of :=”。
变量赋值
变量初始化和变量赋值是2个不同的概念。
var v1 int
v1 = 123
上面是声明一个变量在给他赋值的过程。
Go语言的变量赋值和多数语言一样,但是它支持多重赋值功能。
i, j = j, i
这样可以实现2个变量之间的交换。
多重返回和匿名变量
func GetName()(firstName, lastName, nickName string) {
return "May", "chen", "xixi"
}
_, _, nickName := GetName()