变量声明
Golang属于强类型语言,且定义的变量一定要被使用不然会编译报错。
:=var
变量赋值后必须使用,否则编译失败
_变量
var a int = 16
var a = 16 //类型自动推断
//等同于短变量声明
a := 16
//多变量快捷声明
var a, b int
var a, b, c = 16, true, "str" //可以不同类型
变量作用域
{
var b string = "hi~"
fmt.Println("asd")
fmt.Println("b->", b)
}
num := 12
{
a, num := false, 5 // 这里的num会被认为是一个新变量
b := 100
fmt.Println(a, num, b)
}
fmt.Println(a, num) // a: undefined
{ ... }
变量默认值
基本数据类型默认值都是 0、空字符串这些,声明时就划分内存空间
//声明即初始化(划分内存空间)
var a int //0
//等同于 var a int = 0
var a string //""
var a bool //false
var a rune //0
var a byte //0
var a float32 //0
...
其他类型都默认为nil值
var a error
// var a error = nil
var a *int
var a []int
var a map[string]string
...
参考:
https://mp.weixin.qq.com/s/m8iQdGu7g_8PX4s9mFbkDQ