Go变量的几种定义方式

初识go,go的变量的定义方式就觉得很奇怪,名称在前,类型在后。也可以省去类型和 var 使用 := 来定义。使用模块 fmt 来输出。以下为几种定义变量的方式。

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import "fmt"

func varible(){
// 定义变量,名称写在前,类型写在后
var a int // 初始值为0
var b string // 初始值为空
fmt.Println(a, b)
fmt.Printf("%d, %q", a, b)
}

func varinit(){
// 定义变量指定类型并赋初值
var a, b int = 3, 4
var s string = "abc"
fmt.Println(a, b, s)
}

func varautotype(){
// 定义变量自动识别类型
var a, b, c= 3, 4, true
var s = "abc"
fmt.Println(a, b, s, c)
}

func varsimple(){
// 使用 := 来定义变量
a, b, c := 3, 4, true
a = 10 // 赋值的时候不需要:=
fmt.Println(a, b, c)
}

// 包变量,定义必须使用 var
var (
aa = "aaaa"
bb = "bbbb"
)

func main() {
fmt.Println("Hello")
varible()
varinit()
varautotype()
varsimple()
fmt.Println(aa, bb)
}