为了账号安全,请及时绑定邮箱和手机立即绑定

如何填充包含结构数组的嵌套 golang 结构

如何填充包含结构数组的嵌套 golang 结构

Go
慕田峪9158850 2021-12-20 15:54:19
所以我一直试图填充我创建的结构的这个怪物,但没有成功。type Initial_Load struct {    Chapters []struct {        Name    string `Chapter Name`        PageNum int    `Number of Page"`        Pages   []struct {            Description string `Page Description`            PageNumber  int    `Page Number`            Source      string `Page Source`        }    }    NumChapters int `Total number of chapters`}这是该结构正在建模的 JSON{   "Num_Chapters": 2,   "Chapters": [      {         "Name": "Pilot",         "Page_Num": 2,         "Pages": [            {               "Page_Number": 1,               "Source": "local.com",               "Description": "First Page"            },            {               "Page_Number": 2,               "Source": "local.com",               "Description": "Second Page"            }         ]      },      {         "Name": "Chapter2",         "Page_Num": 2,         "Pages": [            {               "Page_Number": 1,               "Source": "local.com",               "Description": "First Page"            },            {               "Page_Number": 2,               "Source": "local.com",               "Description": "Second Page"            }         ]      },      {         "Name": "Chapter3",         "Page_Num": 2,         "Pages": [            {               "Page_Number": 1,               "Source": "local.com",               "Description": "First Page"            },            {               "Page_Number": 2,               "Source": "local.com",               "Description": "Second Page"            }         ]      }   ]}有关于填充嵌套结构的已回答问题,但我还没有找到包含结构数组的问题。我知道这可能很简单,但我就是想不通。谢谢。
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

您可能需要将这些内部结构定义为类型。这有效:


type Page struct {

    Description string

    PageNumber  int

    Source      string

}


type Chapter struct {

    Name    string

    PageNum int

    Pages   []Page

}


type Initial_Load struct {

    Chapters    []Chapter

    NumChapters int

}


var x Initial_Load = Initial_Load{

    Chapters: []Chapter{

        {

            Name:    "abc",

            PageNum: 3,

            Pages: []Page{

                {

                    Description: "def",

                    PageNumber:  3,

                    Source:      "xyz",

                },

                {

                    Description: "qrs",

                    PageNumber:  5,

                    Source:      "xxx",

                },

            },

        },

    },

    NumChapters: 1,

}

我只放了 1 章,但你明白了。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信