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

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

Json Marshalling 直接到標(biāo)準(zhǔn)

Json Marshalling 直接到標(biāo)準(zhǔn)

Go
一只甜甜圈 2022-09-26 15:16:51
我正在嘗試學(xué)習(xí)Golang,在這樣做的同時(shí),我寫(xiě)了下面的代碼(更大的自學(xué)項(xiàng)目的一部分),并從陌生人那里進(jìn)行了代碼審查,其中一條評(píng)論是,“你可以直接將其編組到stdout,而不是編組到堆,然后轉(zhuǎn)換為字符串,然后將其流式傳輸?shù)絪tdout"我已經(jīng)瀏覽了編碼/ json包和io的文檔,但無(wú)法拼湊出所需的更改。任何指示或幫助都會(huì)很棒。    // Marshal the struct with proper tab indent so it can be readable    b, err := json.MarshalIndent(res, "", "    ")    if err != nil {        log.Fatal(errors.Wrap(err, "error marshaling response data"))    }    // Print the output to the stdout    fmt.Fprint(os.Stdout, string(b))編輯我剛剛在文檔中找到了下面的代碼示例:    var out bytes.Buffer    json.Indent(&out, b, "=", "\t")    out.WriteTo(os.Stdout)但是,它再次寫(xiě)入堆,然后再寫(xiě)入 。不過(guò),它確實(shí)刪除了將其轉(zhuǎn)換為字符串的一個(gè)步驟。stdout
查看完整描述

1 回答

?
HUX布斯

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

創(chuàng)建并使用 json。編碼器定向到 os。司徒。斷續(xù)器。新編碼器() 接受任何 io。作家作為其目的地。

res := map[string]interface{}{

    "one": 1,

    "two": "twotwo",

}


if err := json.NewEncoder(os.Stdout).Encode(res); err != nil {

    panic(err)

}

這將輸出(直接輸出到標(biāo)準(zhǔn)輸出):


{"one":1,"two":"twotwo"}

如果要設(shè)置縮進(jìn),請(qǐng)使用其編碼器.


enc := json.NewEncoder(os.Stdout)

enc.SetIndent("", "  ")

if err := enc.Encode(res); err != nil {

    panic(err)

}

這將輸出:


{

  "one": 1,

  "two": "twotwo"

}


查看完整回答
反對(duì) 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 89 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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