文章首发于:clawhub.club


在go语言中,任何类型在声明后没有赋值的情况下,都对应一个零值。

整形如int8、byte、int16、uint、uintprt等,默认值为0。
浮点类型如float32、float64,默认值为0。
布尔类型bool的默认值为false。
复数类型如complex64、complex128,默认值为0+0i。
字符串string的默认值为”“。
错误类型error的默认值为nil。
对于一些复合类型,如指针、切片、字典、通道、接口,默认值为nil。而数组的默认值要根据其数据类型来确定。例如:var a [4]int,其默认值为[0 0 0 0]。
了解这些之后,在平时的代码编写中,就要注意对于没有赋值的变量进行操作时,一定要先对其值进行判断,以免出现错误。