download:Go 开发者的涨薪通道:自主开发 PaaS 平台核心功能
背景
Go 言语中有一个有些特殊的概念,叫做零值。许多转言语的同窗经常会弄混杂,一开端会不顺应。
代码如下:
func main() {
var i int
var f float64
var b bool
var s string
fmt.Printf("%v %v %v %q\n", i, f, b, s)
}
复制代码
输出结果:
0 0 false ""
复制代码
这会招致大家在定义各种数据库字段时比拟纠结,又会说 Go 这零值,例如:整形的零值 0,跟数据库里的 0 枚举值抵触。又或是做入参判别时怎样区别开?
一时半会想不明白,为什么 Go 要定义这个零值来增加复杂度?