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

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

整數(shù)的協(xié)議緩沖區(qū)零值

整數(shù)的協(xié)議緩沖區(qū)零值

Go
SMILET 2023-06-05 17:10:21
我有一個(gè) Go 結(jié)構(gòu),我們目前在我們的 restful API 中使用它,它看起來(lái)像這樣:type Req struct {   Amount *int}我在這里使用指針,因?yàn)槿绻痤~為零,則表示未Amount填充,如果金額不為零,但為零,則表示該字段已填充,但值為零。當(dāng)我們開始更改為 protofiles 并且我們想像這樣使用它時(shí),主要 API 將請(qǐng)求作為 HTTP API 獲取,并通過 gRPC 使用我遇到的相同 protofile 將其發(fā)送到下一個(gè)服務(wù)我遇到了這個(gè)問題,無(wú)法生成proto3指針量。這很好,因?yàn)閰f(xié)議緩沖區(qū)是為在不同系統(tǒng)之間發(fā)送數(shù)據(jù)而設(shè)計(jì)的,但是我該如何處理上述問題,因?yàn)槿绻沂盏秸?qǐng)求,我無(wú)法確定金額是零還是零。
查看完整描述

1 回答

?
小唯快跑啊

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

proto3不區(qū)分零和不存在;默認(rèn)值和隱式與顯式值的概念消失了:

  • 默認(rèn)值始終為零(或 false 等)

  • 如果值為零,則不發(fā)送;否則,它是

有了proto2. 或者,只需添加一個(gè)單獨(dú)的字段來(lái)表明您對(duì)某物具有價(jià)值:

message Req {

    int amount = 1;

    bool amountHasValue = 2;

}

或者使用嵌套的子消息,即


message Foo {

    Bar bar = 1;

}

message Bar {

    int amount = 1;

}

(所以;如果沒有值,您只需發(fā)送一個(gè)Foo;如果有一個(gè)值,您可以發(fā)送一個(gè)Foo和一個(gè)Bar,無(wú)論它amount是什么:它是)


查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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