大家好我正在努力学习golang我正在创建我自己的项目,这需要创建我很难写的结构和初始化的结构。如果有人能帮助我,我会很高兴。
{
"name":"message",
"args":[
{
"method":"joinChannel",
"params":{
"channel":"CHANNEL",
"name":"USERNAME",
"token":"XXXX",
"isAdmin":false
}
}
]
}
我在谷歌上寻找一些例子,但我唯一能找到的就是简单的。这就是我的想法
type Channel struct {
Name string `json:"name"`
Args []struct {
Method string `json:"method"`
Params struct {
Channel string `json:"channel"`
Name string `json:"name"`
Token string `json:"token"`
Isadmin bool `json:"isAdmin"`
} `json:"params"`
} `json:"args"`
}
有更透明的方式吗?
答案 0 :(得分:1)
如果你想打破这些类型,而不是让这些匿名声明内联,它会是这样的;
type Channel struct {
Name string `json:"name"`
Args []Arg `json:"args"`
}
type Arg struct {
Method string `json:"method"`
Params Params `json:"params"`
}
type Params struct {
Channel string `json:"channel"`
Name string `json:"name"`
Token string `json:"token"`
Isadmin bool `json:"isAdmin"`
}
myChan := Channel{"Name", []Arg{ Arg{"Method", Params{ "Channel", "Name", "Token", true } } } }
答案 1 :(得分:0)
您可以像这样分隔嵌套结构。