go - 如何用go检查空字符串类型?

标签 go

数据库:

column: name
value: NULL

用gorm从DB中获取记录,然后

var name string
if name != nil {
  //
}

出现错误:

invalid operation: name != nil (mismatched types string and nil)

是的,nil在go中用于int类型,但是在这种情况下,DB中的值是NULL而不是"",所以需要检查null,怎么办?

最佳答案

你应该注意sql类型:https://golang.org/pkg/database/sql/#NullString

只需在您的选择语句中使用这种类型的变量:

var yourstr sql.NullString
db.Select("Select your string", &yourstr)

然后你可以检查它是否有效,如果不是你可以分配你想要的任何值:

if !yourstr.Valid{
  yourstr.String = ""
}

在gorm中还有一个选择NullString的函数:

yourstr := dbmap.SelectNullStr("Select your string")

关于go - 如何用go检查空字符串类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725635/

相关文章:

go - 如何正确处理 runtime.Caller(0) 上的错误

go - 如何让 go fasthttp 服务器在文件上传时更快地触发处理程序?

http - 在Golang中获取请求

go - 导入 vault/builtin/credential/aws 将测试标志添加到命令行应用程序

postgresql - Postgres-最好在Postgres或base64中将字节数组存储为BYTEA或对值进行编码并将其存储为TEXT

xml - func Encode(),编码xml的所有部分

go - 使用Apache Tika提取大文件

json - 为什么 json.Unmarshal 在 golang 中追加一个新指针后会更改指针值?

go - 一个 Timer 有一个名为 C 的 chan 字段。要返回它,我必须在它后面加上括号吗?

go - 如何在 gorm 中处理多个查询