变量声明
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 // map,key为string类型,value为int类型
var v8 func(a int) int
还可以将多个变量在一起声明 如
var (
v1 in
v2 string
)
变量初始化
对于需要进行初始化的场景可以有以下3种初始化
var v1 int = 100
var v2 = 100 //编译器自动推导v2的类型
v3 := 100 //声明,并编译器自动推导v3的类型
变量赋值
var a int
var b int
a = 1024 //赋值
b = 2018
a , b = b, a //多重赋值, 此处实现了a,b较好变量
//匿名变量
func getUser() (uid,uname){
return 123,"wol"
}
uid,_ = getUser()
当不关心某个变量的值时,可以使用匿名变量,用_表示 可使得程序简洁
常量定义
go里面常量定义用关键字 const
const Pi float64 = 3.14159265358979323846
const zero = 0.0 // 无类型浮点常量
const (
size int64 = 1024
eof = -1 // 无类型整型常量
)
const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重赋值
const a, b, c = 3, 4, "foo"
// a = 3, b = 4, c = "foo", 无类型整型和字符串常量
预定义常量
Go语言预定义了这些常量:true、false和iota
iota 比较特殊,在每次const出现之前,没调用一次所代表的值都+1,出现const则重置为0
const a = iota // a为0
const (
b = iota //b 为0
c = iota //c为1
d //d为2 两个赋值语句一样 后一个可省略
)
const e = iota //e为0