Go 开发者的涨薪通道:自主开发 PaaS 平台核心功能

177 阅读1分钟

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 要定义这个零值来增加复杂度?