关于go语言数据库存储和显示null值的问题困扰了我很久,并且也和群友讨论过这个问题,但是都没有得到相对满意和全面的答案。
import "gopkg.in/guregu/null.v3"
null是一个具有合理选项的库,用于处理可空的SQL和JSON值
nullzero
nullnull
zerozero.String""
sql.Scannerdriver.Valuersql.NullXXXencoding.TextMarshalerencoding.TextUnmarshalerjson.Marshalerjson.Unmarshaler
null包
import "gopkg.in/guregu/null.v3"
null.String
可以为空的字符串。
sql.NullStringsql.NullString
null.Int
可以为null的int64。
sql.NullInt64sql.NullInt64
null.Float
可空浮动64。
sql.NullFloat64sql.NullFloat64
null.Bool
可空的布尔。
sql.NullBoolsql.NullBool
null.Time
time.Timepq.NullTimepq.NullTime
零包装
import "gopkg.in/guregu/null.v3/zero"
zero.String
可以为空的字符串。
sql.NullStringsql.NullString
zero.Int
可以为null的int64。
sql.NullInt64sql.NullInt64
zero.Float
可空浮动64。
sql.NullFloat64sql.NullFloat64
zero.Bool
可空的布尔。
falsesql.NullBoolsql.NullBool
zero.Time
time.Timepq.NullTimepq.NullTime
错误
json",omitempty"