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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

Go
眼眸繁星 2023-05-15 10:09:41
我在 golang 中有兩個(gè)結(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 對(duì)象解碼為DataWithItems. 我知道這可以通過其他編程語言的繼承來解決,但是Is there a way I can solve this in Go?
查看完整描述

2 回答

?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以將一個(gè)結(jié)構(gòu)“嵌入”到另一個(gè)結(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"]}



查看完整回答
反對(duì) 回復(fù) 2023-05-15
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

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



查看完整回答
反對(duì) 回復(fù) 2023-05-15
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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