Go 初始化嵌套匿名结构

Go 初始化嵌套匿名结构,go,struct,Go,Struct,我有一个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"`

我有一个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 : ???
}

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

这是可行的,但很难看:

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

我建议您命名匿名结构,或者在声明中初始化字段,并在以后使用赋值进行PageInfo。

您应该能够执行
RBody{…struct{Start,Rows int}{Start:42,Rows:42}
.Cool。正如我所说的,我通过命名匿名结构来实现这一点,它肯定“不难看”,但我只是想知道是否有办法解决这个问题。