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