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

初始化嵌套的匿名结构

益光亮
2023-03-14
问题内容

我有一个json作为

{
"fields": ["time","id","status","customerId","additionalDetail"],
"pageInfo": {"start": 0, "rows": 1000}
}

我想将我的结构编组到json之上并创建如下结构-

type RBody struct {
Fields []string `json:"fields"`
PageInfo struct {
    Start int `json:"start"`
    Rows int `json:"start"`
    } `json:"pageInfo"`
}

我在初始化上述结构时遇到麻烦。我不确定如何以以下方式初始化匿名结构:

bd := RBody {
Fields : []string{"time","id","status","customerId","additionalDetail"},
PageInfo : ???
}

我通过为页面信息创建一个单独的结构并将其与父结构附加在一起来解决此问题。但是,必须有某种方法来执行 匿名 嵌套结构的初始化,就像我对上面的
Fields (字符串切片)所做的一样。谁能将我重定向到一些指南来做到这一点?


问题答案:

这可行,但是很难看:

bd := RBody { Fields :  []string{"time","id","status","customerId","additionalDetail"},
PageInfo : struct {Start int `json:"start"`
Rows int `json:"rows"`} {Start:1,Rows:2}}

我建议您要么命名匿名结构,要么在声明中初始化Fields,并在以后使用赋值初始化PageInfo。



 类似资料:
  • 问题内容: 我不知道如何初始化嵌套结构。在此处找到示例:http: //play.golang.org/p/NL6VXdHrjh 问题答案: 好吧,有什么特定的原因不使Proxy成为自己的结构? 无论如何,您有2个选择: 正确的方法是,只需将proxy移至其自己的结构,例如: 不太正确和丑陋的方法,但仍然有效:

  • 问题内容: 您如何初始化以下结构? 我试过了: 没用: 我试过了: 没用: 问题答案: 您是一个具有匿名结构类型的字段。因此,您必须重复类型定义: 但在大多数情况下,最好将其定义为rob74建议的单独类型。

  • 问题内容: 我怎样才能做到这一点: … 给出的编译结果为:“结构文字中的未知B字段’MemberA’” 当提供像这样的文字结构成员值时,如何初始化MemberA(从“父”结构)? 问题答案: 初始化时,匿名结构仅在其类型名称下(在您的情况下)是已知的。与该结构关联的成员和函数仅在实例存在之后才导出到外部。 您必须提供一个有效的实例来初始化: 编译错误 结构文字中的未知B字段’MemberA’ 确切

  • 根据价值初始化规则。发生值初始化: 1,5)当使用由空括号或大括号组成的初始值设定项创建无名临时对象时(从C 11开始); 2,6)当一个具有动态存储持续时间的对象是由一个新表达式创建的,初始化器由一对空括号或大括号组成(从C11开始); 3,7)当使用带有空括号或大括号对的成员初始值设定项初始化非静态数据成员或基类时(自C 11起); 4)当使用由一对大括号组成的初始化程序声明命名变量(自动、静

  • 问题内容: 嗨,我是Golang的新手,请帮助我。我已经在结构内部定义了一个结构。但是,当我尝试初始化主结构时出现错误。 我得到的错误是:不能在字段值中使用(类型接口{})作为类型结构:需要类型声明。 请提出一种初始化DetailsFilter的方法。我尝试执行在Golang中初始化嵌套结构中描述的方法,但即使这样也不起作用。 问题答案: 不幸的是,如果结构字段的类型是匿名结构,则 _在构造时_只

  • 本文向大家介绍WordPress add_action-初始化-匿名函数,包括了WordPress add_action-初始化-匿名函数的使用技巧和注意事项,需要的朋友参考一下 示例