一尘不染

初始化嵌套的匿名结构

go

我有一个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 (字符串切片)所做的一样。谁能将我重定向到一些指南来做到这一点?


阅读 180

收藏
2020-07-02

共1个答案

一尘不染

这可行,但是很难看:

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。

2020-07-02