区分以下情况的正确方法是什么:例如,给定以下条件,一个结构中的值何时从未设置或为空?
type Organisation struct {
Category string
Code string
Name string
}
我需要知道(例如)是否从未设置过类别,或者用户是否将其保存为空白,我应该这样做:
type Organisation struct {
Category *string
Code *string
Name *string
}
我还需要确保我正确地将
null
或空字符串保存到数据库中我仍在学习GO,因此完全有可能我的问题需要更多信息。
最佳答案
string
的零值是一个空字符串,您无法区分两者。
如果使用的是database/sql
包,并且需要区分NULL
和空字符串,请考虑使用sql.NullString
类型。这是一个跟踪NULL
状态的简单结构:
type NullString struct {
String string
Valid bool // Valid is true if String is not NULL
}
您可以扫描到该类型并将其用作查询参数,程序包将为您处理
NULL
状态。
关于go - 正确区分未设置(零)和空白/空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61521983/