嵌套结构中的复合文本中缺少类型



我有以下匿名结构:

func wrapHal(selfHref string) interface{} {
    return struct {
        _links struct {
            self struct {
                href string
            }
        }
    }{
        _links: {self: {href: selfHref}}, # this line
    }
}

然而,在";这一行;我得到错误missing type in composite literal

如何修复?可以在Go?中启动匿名嵌套结构?

要初始化匿名结构,必须声明类型。您声明了根匿名结构,但需要对每个嵌套的匿名结构重新声明:

func wrapHal(selfHref string) interface{} {
    return struct {
        _links struct {
            self struct {
                href string
            }
        }
    }{
        _links: struct {
            self struct {
                href string
            }
        }{
            self: struct {
                href string
            }{
                href: "",
            },
        },
    }
}

相关内容

最新更新