亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 是否支持嵌套類型聲明或對匿名結構的文字賦值?

Go 是否支持嵌套類型聲明或對匿名結構的文字賦值?

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

1 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

嵌套結構是一種可行的方法,但它們會導致一些混亂。要實例化給定的對象,試試這個:


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",

    },

}

請注意,我列出了結構的參數名稱和類型。另請注意,為簡潔起見,我刪除了folder參數。


如果你想在多行中進行:


rule2 := Rule{}

rule2.args.action = "some-action"


查看完整回答
反對 回復 2023-05-04
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號