我在 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: "",
},
}
阿晨1998
TA贡献2037条经验 获得超6个赞
您错过了设置要创建的内部结构的类型。你的变量初始化应该是:
var Name = packageA.CompositeFlagString{
FlagSkel: packageA.FlagSkel {
Name: "name",
Short: "",
HelpMsg: "Something here",
},
FlagString: packageA.FlagString {
DefaultValue: "",
},
}
如果你改变它,它应该可以工作。
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消