为什么是必读?因为这边会给出这个系列的参考/出处文章地址

https://mojotv.cn/

变量声明语法

1
2
3
4
5
6
7
8
9
10
11
12
var a int //声明一个int类型的变量

var b struct { //声明一个结构体
Name string
}

var a = 8 //声明变量的同时赋值,编译器自动推导其数据类型

var a int = 8 //声明变量的同时赋值

//声明变量的同时赋值更习惯用":=",但注意全局变量不可以用":="
a := 8

go可使用var关键字声明全局变量,但是:=这种方式是不能用在全局变量中的.:=只能用在函数体内部.

1
2
3
4
5
6
7
var (
a int
b bool
xx,yy,dd string="xx","yy","dd"
//这里省略变量类型也是可以的.
zz,aa="zz","aa" //注意用"=",不能用":="
)

go函数体内的变量是如果被声明了,那么必须使用,不然会报错。注:全局变量声明未使用不会报错

1
2
3
4
//已声明,但如果不想使用可以加上_=varName,表示为已抛弃的变量.
var a=1
//标识为已抛弃的变量.
_=a

变量初始化

Go 语言在声明变量时会默认给变量赋个当前类型的空值/零值

在方法中声明一个临时变量并赋初值

1
2
//推荐,会更新值的格式自动声明变量类型
tmpStr :=""

当一个变量或者新值被创建时, 如果没有为其明确指定初始值,go语言会自动初始化其值为此类型对应的零值。

类型 零值
数值类型 0
布尔类型 false
字符串 “”(空字符串)
slice nil
map nil
指针 nil
函数 nil
接口 nil
信道 nil