数据库:
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/