当前位置: 首页 > 面试题库 >

收到错误:结构文字中的未知字段

詹亮
2023-03-14
问题内容

我正在尝试运行以下代码:

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}}


 类似资料:
  • 问题内容: 我有一个在呼包 并在即时通讯中尝试将此帐户结构嵌入到另一个结构中 用户包已正确导入,然后尝试嵌入,我已成功使用它 最终,我正在获取用户帐户并制作功能图并从中返回,这是我的功能 但是此代码不会在这里编译是错误消息 一切似乎都非常简单明了,我无法弄清楚为什么会出现此错误,并且我需要达到Account结构的所有成员都已导出 我需要此字段的原因是我想通过api发送访问令牌给客户端,而不是秘密,

  • 下面是我的Spring boot Rest API应用程序。 vendor.java vendorRepository.java 不过,我还是得到了一个错误: 这个错误是什么?如何化解?

  • 我试图在“Categoria”表和“Noticia”表之间创建一个多对多关系,然后使用工厂生成数据,但我得到了那个错误。我已经创建了一个透视表,但我不知道出了什么问题,我对这个很陌生。。。。 Noticia模型: 名称空间应用程序; 使用Illumb\Database\Elount\Model; 类Noticia扩展模型{ } 类别模型: 支点迁移: 诺西西亚移民 类别迁移: Noticia工厂:

  • 问题内容: 我有一个比较大的结构,直到现在我仍在使用结构文字语法实例化,例如: 我刚刚在结构中添加了一个未导出的字段,现在Go在抱怨:。 即使结构上现在有未导出的字段,有什么办法可以继续使用文字语法? 问题答案: 如果您在文字中使用 键值 ,则只能使用复合文字来创建在另一个包中定义的结构类型的 值 ,因为这样就不需要为所有字段提供初始值,因此可以省去未导出的字段(仅声明包可以设置/更改)。 如果在

  • 问题内容: 我正在使用Elasticsearch的Typescript客户端,并且在尝试更新文档时: 我收到一个错误消息: 但是根据此处的文档:https : //www.elastic.co/guide/zh- CN/elasticsearch/client/javascript-api/current/api- reference.html#_update ,是输入中的字段 我的请求参数出了什

  • 问题内容: 我有一个MySQL转储,尝试将其恢复为: 但是,这引发了一个错误: 这是第3231-3233行: 我正在使用MySQL 5.1.69。我该如何解决这个错误? 问题答案: 您的版本不支持该字符集,我相信是它引入的。您应该将mysql升级到用于导出该文件的版本。 然后,错误就很明显了:您在代码中设置了某个字符集,但是您的mysql版本不支持该字符集,因此对此一无所知。 根据https://