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

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

Go - 動態(tài)構(gòu)建 struct/json

Go - 動態(tài)構(gòu)建 struct/json

Go
繁華開滿天機 2021-10-04 16:31:58
在 Python 中,可以創(chuàng)建字典并將其序列化為 JSON 對象,如下所示:example = { "key1" : 123, "key2" : "value2" }js = json.dumps(example)Go 是靜態(tài)類型的,所以我們必須先聲明對象模式:type Example struct {    Key1 int    Key2 string}example := &Example { Key1 : 123, Key2 : "value2" }js, _ := json.Marshal(example)有時,具有特定模式(類型聲明)的對象(結(jié)構(gòu))只需要在一個地方而不是其他地方。我不想產(chǎn)生大量無用的類型,也不想為此使用反射。Go 中是否有任何語法糖提供了一種更優(yōu)雅的方式來做到這一點?
查看完整描述

2 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊

您可以使用地圖:


example := map[string]interface{}{ "Key1": 123, "Key2": "value2" }

js, _ := json.Marshal(example)

您還可以在函數(shù)內(nèi)部創(chuàng)建類型:


func f() {

    type Example struct { }

}

或者創(chuàng)建未命名的類型:


func f() {

    json.Marshal(struct { Key1 int; Key2 string }{123, "value2"})

}


查看完整回答
反對 回復(fù) 2021-10-04
?
動漫人物

TA貢獻(xiàn)1815條經(jīng)驗 獲得超10個贊

您可以使用匿名結(jié)構(gòu)類型。


example := struct {

    Key1 int

    Key2 string

}{

    Key1: 123,

    Key2: "value2",

}

js, err := json.Marshal(&example)

或者,如果您準(zhǔn)備失去某種類型安全性,則map[string]interface{}:


example := map[string]interface{}{

    "Key1": 123,

    "Key2": "value2",

}

js, err := json.Marshal(example)


查看完整回答
反對 回復(fù) 2021-10-04
  • 2 回答
  • 0 關(guān)注
  • 380 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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