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

在 golang 中使用 neast 和数组创建高级结构

在 golang 中使用 neast 和数组创建高级结构

Go
慕丝7291255 2021-11-22 16:53:00
大家好,我正在尝试学习 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"`}有没有更透明的方法来做到这一点?
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

如果你想打破类型而不是内联那些匿名声明,它看起来像这样;


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 } } } }



查看完整回答
反对 回复 2021-11-22
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您可以像这样分离嵌套结构。

http://play.golang.org/p/ghcMuFOdQC


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

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