go - 如何初始化特定的结构格式

标签 go struct

<分区>

虽然我已经使用语言两个多月了,但我并没有发现自己有这种需求。 我想要的是初始化我在下面显示的结构(基本上初始化项目,然后在内部初始化 aaa、bbb 和 ccc 结构)。我的问题是我是否可以在不进行解码的情况下真正初始化它。

type example struct {
    Name    string `yaml:"name" json:"name"`
    Key     string `yaml:"key" json:"key"`
    Version string `yaml:"version" json:"version"`
    Project []struct {
        Name string `yaml:"name" json:"name"`
        aaa  struct {
            Name    string `yaml:"name" json:"name"`
            Key     string `yaml:"key" json:"key"`
            xxx struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"xxx" json:"xxx"`
            zzz struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"zzz" json:"zzz"`
        } `yaml:"aaa" json:"aaa"`
        bbb struct {
            Name    string `yaml:"name" json:"name"`
            Key     string `yaml:"key" json:"key"`
            xxx struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"xxx" json:"xxx"`
            zzz struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"zzz" json:"zzz"`
        } `yaml:"bbb" json:"bbb"`
        ccc struct {
            Name    string `yaml:"name" json:"name"`
            Key     string `yaml:"key" json:"key"`
            xxx struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"xxx" json:"xxx"`
            zzz struct {
                Version string `yaml:"version" json:"version"`
            } `yaml:"zzz" json:"zzz"`
        } `yaml:"ccc" json:"ccc"`
    } `yaml:"project" json:"project"`
}

我知道我可以通过类似于以下的方式来做到这一点。但我试图更好地了解这门语言。

type example struct {
    Name    string `yaml:"name" json:"name"`
    Project proyectos }

type proyectos structs{
    [] proyecto
}

type proyecto struct{
    Name string `yaml:"name" json:"name"`
    aaa  struct {
    .....
} `yaml:"project" json:"project"`

我很感激任何可以通过示例给我提示的人。

谢谢。

最佳答案

这看起来确实不错。我更愿意删除 proyectos 结构定义,因为在我看来它是不必要的 - 您可以改用 []proyectos,它看起来更干净。

我不想成为那样的人,但您的问题已经在这里得到解答:https://stackoverflow.com/a/24809404/7471182

关于go - 如何初始化特定的结构格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53821346/

相关文章:

java - 如何将 python struct.unpack 转换为 java

c - 在 C 中另存为二进制文件,但不显示零和一

c - 在 struct 中使用 struct 关键字

c - 为什么在我的程序开始时删除 static 会出现 ' Stack overflow' 错误?

Golang https 服务器以字节数组形式传递 certFile 和 kyeFile

postgresql - pq : password authentication failed for user "user-name" while accessing postgres in vscode

regex - 识别推文消息中正确的主题标签索引

struct - 我可以将元组结构枚举变体转换为常规元组而不是解构和重新创建元组吗?

go - 为什么golang提示无法加载路径?

go - 构建 Go SWIG 示例代码