一尘不染

* string和sql.NullString之间的区别

go

最近,我一直在Golang中努力处理SQL
NULL值。在尝试使用Decode()和未能成功解组JSON对象后sql.NullString
使用字符串指针的解决方案似乎可以与Decode()和nil值完美配合。那么sql.NullString和之间有什么区别*string?只是零检查吗?


阅读 1059

收藏
2020-07-02

共1个答案

一尘不染

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
的字符串的指针,因此两者是不同的。

2020-07-02