一、变量
1、声明变量
Go语言引入了关键字var,而类信息放在变量名之后:
如:
func main(){
var a int
var b string
var c [10]int //数组类型
var d []string //切片数组
var e struct{
f int
g string
} //结构体
var k *int //指针类型
var o map[string] int //map, key为string类型,value为int类型
var p func(a int) int //函数,a为参数,int为返回类型
}
var关键字的另一种用法是将若干个需要声明的变量放置在一起,免得程序要需要重复写var关键字,如下所示:
var(
v1 int
v2 string
)
2、变量初始化
对于声明变量时需要进行初始化的场景,var关键字可以保留,但不再是必要的元素,如下所示:
func main(){
var o1 int = 10
var o2 = 10 //编译器可以自动推导出v2的类型
o3:=10//此种方式只能用于局部变量的赋值,并且左边的变量o3不能是已经声明过的
//下面会报错,由于先声明,又用:=去赋值
var i int
i:=10
}
3、变量赋值
下面为声明一个变量之后的赋值过程
var v10 int
v10 = 15
Go语言提供了多赋值功能,比如下面这个交换i和j变量的语句:
i,j=j,i
4、匿名变量
假设getName()函数的定义如下,它返回3个值,分别为firstName、lastName和nickName:
Func getName() (firstName,lastName,nickName string){
return “May”,“chan”,“maruko”
}
若只想获取nickName,则函数调用语句可以用如下方式编写:
_,_,nickName:=getName()