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

Go 如何初始化特定的结构格式,go,struct,Go,Struct,虽然我已经使用语言超过几个月了,但我还没有看到自己有这种需要我想初始化下面显示的结构(基本上初始化Project,然后在内部初始化aaa、bbb和ccc结构)。我的问题是,我是否真的可以在不进行解组的情况下初始化它 type example struct { Name string `yaml:"name" json:"name"` Key string `yaml:"key" json:"key"` Version string `yaml:"versio

虽然我已经使用语言超过几个月了,但我还没有看到自己有这种需要我想初始化下面显示的结构(基本上初始化Project,然后在内部初始化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
结构定义,因为我认为这是不必要的-您可以使用
[]proyecto
来代替,它看起来更干净

我不想成为那个家伙,但你的问题已经在这里得到了回答: