Golang学习-定义变量
金典 2022/1/24 Go
# 定义变量
定义变量,不赋初始值
func variableZeroValue() { var a int var s string fmt.Printf("%d %s\n", a, s) // 0 '' }1
2
3
4
5
6定义变量并赋初始值
func variableInitialValue() { var a int = 3 var s string = "abc" fmt.Println(a, s) // 3 abc }1
2
3
4
5
6定义变量时可以不设置变量类型,由编译器推测变量类型
func variableTypeDeduction() { var a, b, c, s = 3, 4, true, "def" fmt.Println(a, b, c, s) // 3 4 true def }1
2
3
4
5使用:=定义变量
只能在函数内部使用
func variableShorter() { a, b, c, s := 3, 4, true, "def" b = 5 fmt.Println(a, b, c, s) // 3 5 true def }1
2
3
4
5
6使用var ()集中定义变量
var ( aa = 1 bb = "2" cc = true )1
2
3
4
5虚数的使用
// 欧拉公式 func euler() { fmt.Printf("%.3f\n", cmplx.Exp(1i*math.Pi)+1) // (0.000+0.000i) }1
2
3
4
5
6强制类型转换
func triangle() { var a, b int = 3, 4 var c int c = int(math.Sqrt(float64(a*a + b*b))) fmt.Println(c) // 5 }1
2
3
4
5
6
7常量,常量的数值可以作为各种类型使用
func consts() { const filename = "abc.txt" const a, b = 3, 4 var c int c = int(math.Sqrt(a*a + b*b)) fmt.Println(filename, c) // abc.txt 5 }1
2
3
4
5
6
7
8枚举类型
func enums() { const ( cpp = iota _ //跳过1 java python golang ) // b, kb, mb, gb, tb, pb const ( b = 1 << (10 * iota) kb mb gb tb pb ) fmt.Println(cpp, java, python, golang) fmt.Println(b, kb, mb, gb, tb, pb) // 0 2 3 4 // 1 1024 1048576 1073741824 1099511627776 1125899906842624 }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