我在 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 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消