我是 Go 的新手,有兩個關于類型的問題。例如,采用以下代碼:type Rule struct { handler func() (err error) creator string args struct { extension string action string folder struct { location string storage string } }}1)如何Rule使用單個文字聲明創(chuàng)建一個新的并為屬性賦值args?這段代碼有什么問題:rule := Rule{ args: { extension: "png,jpg,gif,svg", action: "move", },}2) 是否可以在類型中定義類型?例如,在不將代碼分成兩個單獨的類型聲明的情況下,我可以修改類型args的一部分Rule,以便它定義第二個類型嗎RuleArgs?我知道我可以將它們分解成多個賦值和聲明,但我的問題是我是否必須這樣做(即 Go 是否不可能不這樣做)?
1 回答

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
嵌套結(jié)構(gòu)是一種可行的方法,但它們會導致一些混亂。要實例化給定的對象,試試這個:
type Rule struct {
handler func() (err error)
creator string
args struct {
extension string
action string
}
}
rule := Rule{
args: struct {
extension string
action string
}{
extension: "png,jpg,gif,svg",
action: "move",
},
}
請注意,我列出了結(jié)構(gòu)的參數(shù)名稱和類型。另請注意,為簡潔起見,我刪除了folder參數(shù)。
如果你想在多行中進行:
rule2 := Rule{}
rule2.args.action = "some-action"
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報
0/150
提交
取消