范围超过结构的一部分

时间:2019-11-10 21:26:21

标签: go

我有一个结构,其中包含一个结构的一部分,而我正在尝试从内部结构中检索数据。这是该结构的示例:

type Data struct {
    Quotes []struct {
        Direct      bool    `json:"Direct"`
        Legs struct {
            ID int    `json:"Id"`
        } `json:"Legs"`
    }
}

从上面的代码中,我想检索ID中的值。这是我已经尝试过的:

    for _, v := range Data.Quotes.Legs {
        fmt.Println(v.ID)
    }

但是出现以下错误:

 Has no field or method Legs

如果我只想要Direct中的值,这会起作用:

    for _, v := range Data.Quotes {
        fmt.Println(v.Direct)
    }

有人对此有建议吗?

1 个答案:

答案 0 :(得分:2)

Data.Quotes.Legs不是数组。 Data.Quotes是:

var data Data
...
for _, v := range data.Quotes {
        fmt.Println(v.Legs.ID)
}