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

无法初始化嵌入式结构

无法初始化嵌入式结构

Go
慕雪6442864 2022-06-21 15:57:36
我在 packageA 中声明了以下结构type FlagSkel struct {    Name    string    Short   string    HelpMsg string}type FlagString struct {    Value        string    DefaultValue string}type CompositeFlagString struct {    FlagSkel    FlagString}在另一个包中,我试图初始化(在任何函数之外)var后一种类型的 a ,如下所示:var Name = packageA.CompositeFlagString{    FlagSkel: {        Name:    "name",        Short:   "",        HelpMsg: "Something here",    },    FlagString: {        DefaultValue: "",    },}但是 vscode 编译器向我显示了附加的错误我究竟做错了什么?
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您需要指定结构文字的类型:


packageA.CompositeFlagString{

    FlagSkel: packageA.FlagSkel{

        Name:    "name",

        Short:   "",

        HelpMsg: "Something here",

    },

    FlagString: packageA.FlagString{

        DefaultValue: "",

    },

}


查看完整回答
反对 回复 2022-06-21
?
阿晨1998

TA贡献2037条经验 获得超6个赞

您错过了设置要创建的内部结构的类型。你的变量初始化应该是:


var Name = packageA.CompositeFlagString{

    FlagSkel: packageA.FlagSkel {

        Name:    "name",

        Short:   "",

        HelpMsg: "Something here",

    },

    FlagString: packageA.FlagString {

        DefaultValue: "",

    },

}

如果你改变它,它应该可以工作。


查看完整回答
反对 回复 2022-06-21
  • 2 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

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