go语言学习 - 变量和常量

golang

变量

变量的定义和赋值有多种方式

方式1

只定义不赋值,默认为0

1
2
3
4
5
6
package main

func main() {
var a int
println("a = %d\n", a)
}

方式2

1
2
3
4
5
6
package main

func main() {
var a int = 3
println("a = %d\n", a)
}

方式3

忽略类型,go会自己推断

1
2
3
4
5
6
package main

func main() {
var a = 3
println("a = %d\n", a)
}

方式4

忽略var关键字

1
2
3
4
5
6
package main

func main() {
a := 2
println("a = %d\n", a)
}

方式5

多变量声明类似于单变量声明,但是忽略var只能在函数内使用

1
2
3
4
5
6
7
8
9
10
11
12
13
package main

func main() {
var x, y int

var a, b = 345, false

var (
c int = 345
d bool = true
)
e, f := 555, "ggg"
}

常量

常量顾名思义和变量相反,不能改变值。定义和赋值方式和变量类似

1
2
3
4
5
6
7
8
const t float32 = 234.435435

const u string = "apple"

const (
g = "amd"
p = "intel"
)

iota关键字

iota是increment关键字,可以简化增长数字的定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

func main() {
const (
a = iota
b
c
d
)
// 0 1 2 3
println(a, b, c, d)
const (
e, f = iota + 1, iota + 2
g, h
i, j
k, l
)
// 1 2
// 2 3
// 3 4
// 4 5
println(e, f)
println(g, h)
println(i, j)
println(k, l)
}