This question already has answers here:
nested struct initialization literals
(2个答案)
5年前关闭。
我正在尝试运行以下代码:
但是我得到这个错误:
或者,如果您的NullInt64结构包含不想显式初始化的其他字段,则可以使用其类型访问嵌入的字段:
(2个答案)
5年前关闭。
我正在尝试运行以下代码:
type NullInt64 struct {
sql.NullInt64
}
func ToNullInt64(s string) NullInt64 {
i, err := strconv.Atoi(s)
return NullInt64{Int64: int64(i), Valid: err == nil}
}
但是我得到这个错误:
..\sql\sql.go:27: unknown NullInt64 field 'Int64' in struct literal
..\sql\sql.go:27: unknown NullInt64 field 'Valid' in struct literal
最佳答案
要初始化嵌入式sql.NullInt64,您必须编写:
NullInt64{sql.NullInt64{Int64: int64(i), Valid: err == nil}}
或者,如果您的NullInt64结构包含不想显式初始化的其他字段,则可以使用其类型访问嵌入的字段:
NullInt64{NullInt64: sql.NullInt64{Int64: int64(i), Valid: err == nil}}
10-06 12:22