目录
变量
1、变量声明
//变量声明
//纯粹的变量声明用关键字 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 //map, key 为 string 类型,value 为 int 类型
var v8 func(a int) int
//将若干个需要声明的变量放在一起
var (
v1 int
v2 string
)
2、变量初始化
//常规初始化
var v1 int = 10
//编译器可以自动推导出 v2 的数据类型,虽然go是强类型(静态型)语言,这就让它看起来有点儿像动态型语言
var v2 = 20
//对于声明变量时需要初始化的场景,var关键字可以保留,也可以不要。
// (:=)这个符号组合表示同时进行变量声明和初始工作。
v3 := 30
//(:=)左边儿的变量不能是已声明过的,否则可能导致编译错误。
//错误示例:
var i int
i := 2
//上面的表达式会报 no new variables on left side of :=
3、变量赋值
//声明一个变量,然后进行赋值
var v10 int
v10 = 123
//多重赋值功能,如交换两个变量
i, j = j, i
//在不支持多重赋值的语言中,交互两个变量的内容需要引入一个中间变量:
t = i; i = j; j = t;
4、匿名变量
func getName() (firstName string, lastName string) {
return "王", "小二"
}
func main() {
//若只想获得firstName,则函数调用语句可以用如下方式编写
firstName, _ := getName()
//这种用法可以让代码非常清晰,基本上屏蔽掉了可能混淆代码阅读者视线的内容,从而大幅降低沟通的复杂度和代码维护的难度。
_, lastName := getName()
fmt.Printf("Surname is %v and personal name is %v", firstName, lastName)
}
注:这篇博文是我学习《go语言编程》一书后,边学习边实际尝试后所写,如有转载请注明出处:https://blog.csdn.net/DaiChuanrong/article/details/114294107
下一篇:go 常量