2-1变量

2.1变量

2.1.1变量声明

Go的变量声明与C不同。对于纯粹的变量声明,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
var v8 func(a int) int

另外的批量声明变量写法如下

var(
v1 int
v2 string
)

2.1.2变量初始化

对于需要初始化的变量,类型和var关键字都不是必要的,但可以保留。

var v1 int = 10
var v2 = 10
v3 := 10 //全局变量不行

2.1.3变量赋值

正常赋值

var v1 int
v1 = 10

多重赋值

Go引入多重赋值的特性,代替C/C++中引入第三者来交换变量

i,j = j,i

2.1.4匿名变量

某些时候,函数的部分返回值不需要,可以使用匿名变量来忽略掉返回值,增强可读性

func Getname() (firstname,lastname,nickname string) {
return "May","Chan","Chibi Maruko"
}

_, _, nickname = Getname() //使用匿名变量,忽略掉前两个返回值