第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在 golang 的另一個結(jié)構(gòu)中重用結(jié)構(gòu)

在 golang 的另一個結(jié)構(gòu)中重用結(jié)構(gòu)

Go
眼眸繁星 2023-05-15 10:09:41
我在 golang 中有兩個結(jié)構(gòu)如下type Data struct {    Name          string    Description   string    HasMore   bool}type DataWithItems struct {    Name          string    Description   string    HasMore      bool    Items    []Items}至多DataWithItemsstruct 可以重寫為 type DataWithItems struct {        Info Data        Items []Items    }但是上面的內(nèi)容使得將 json 對象解碼為DataWithItems. 我知道這可以通過其他編程語言的繼承來解決,但是Is there a way I can solve this in Go?
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

您可以將一個結(jié)構(gòu)“嵌入”到另一個結(jié)構(gòu)中:


type Items string


type Data struct {

    Name        string

    Description string

    HasMore     bool

}


type DataWithItems struct {

    Data // Notice that this is just the type name

    Items []Items

}


func main() {

    d := DataWithItems{}

    d.Data.Name = "some-name"

    d.Data.Description = "some-description"

    d.Data.HasMore = true

    d.Items = []Items{"some-item-1", "some-item-2"}


    result, err := json.Marshal(d)

    if err != nil {

        panic(err)

    }


    println(string(result))

}

這打印


{"Name":"some-name","Description":"some-description","HasMore":true,"Items":["some-item-1","some-item-2"]}



查看完整回答
反對 回復 2023-05-15
?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

只需使用一個結(jié)構(gòu) - DataWithItems,有時將項目留空



查看完整回答
反對 回復 2023-05-15
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號