Go 如何处理 SQL 中的 NULL
如果你用 Go 操作过 MySQL,那你就知道 NULL 有多烦人了,当数据库中某个字段的值是 NULL 时,你可能会遇到一些问题。 database/sql 包会将 NULL 转换为 nil,但是它不能赋值给 int、float64、string、bool 等类型。 这篇文章介绍几个处理 MySQL 中的 NULL 值的方法。 0)为什么需要特别关注 NULL 在 Go 中,每个类型都有一个 零 值,声明一个变量不指定值,则变量会被初始化为零值。 var i int fmt.Printf("%#v\n", i) // => 0 var s string fmt.Printf("%#v\n", s) // => "" 特别的是指针,它的零值是 nil。 var p *int fmt.Printf("%#v\n", p) // => nil 你不能用 nil 指针做任何事,例如下面的代码会 panic。 fmt.Printf("%#v\n", *p) // => 💥 类似的,结构体中的每个字段都有一个零值 type R struct { i int s string p *int } var r R fmt....