最近,我一直在Golang中努力处理SQL NULL值。在尝试使用Decode()和未能成功解组JSON对象后sql.NullString。 使用字符串指针的解决方案似乎可以与Decode()和nil值完美配合。那么sql.NullString和之间有什么区别*string?只是零检查吗?
Decode()
sql.NullString
*string
SQL具有与Golang不同的空值。
如果您查看的定义,sql.NullString那么您将获得:
type NullString struct { String string Valid bool // Valid is true if String is not NULL }
如您所见,这sql.NullString是一种表示来自SQL的空字符串(对应于“ NULL”)的方法。另一方面,nil *string是指向nil 的字符串的指针,因此两者是不同的。