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

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

如何檢索字段選項(xiàng)值

如何檢索字段選項(xiàng)值

Go
蕪湖不蕪 2022-10-04 16:35:04
我有原型:extend google.protobuf.FieldOptions {  string foo_option = 50000;}message Request {  // all fields have foo_option  string str1 = 1 [(foo_option) = "bar1"];  string str2 = 1 [(foo_option) = "bar2"];}在 Go 中,給定 ,我如何檢索每個(gè)字段的值?req *Requestfoo_option
查看完整描述

1 回答

?
函數(shù)式編程

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

從 中,使用選項(xiàng)() 方法。protoreflect.FieldDescriptor

您將需要一些類型斷言來檢索實(shí)際的選項(xiàng)值。完整的代碼段可能如下所示:

// imports

// "google.golang.org/protobuf/proto"

// "google.golang.org/protobuf/reflect/protoreflect"

// "google.golang.org/protobuf/types/descriptorpb"


    p := msg.ProtoReflect()

    p.Range(func(fd protoreflect.FieldDescriptor, value protoreflect.Value) bool {

        opts := fd.Options().(*descriptorpb.FieldOptions)

        s, _ := proto.GetExtension(opts, mypbpkg.E_FooOption)

        fmt.Println(*s.(*string)) // bar1

        return true

    })


查看完整回答
反對 回復(fù) 2022-10-04
  • 1 回答
  • 0 關(guān)注
  • 87 瀏覽

添加回答

舉報(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)