亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

golang中如何將.proto文件解析成FileDescriptor?

golang中如何將.proto文件解析成FileDescriptor?

Go
慕田峪7331174 2022-10-24 15:42:48
我的目標是動態地從 .proto 文件中獲取 FileDescriptor,我應該怎么做?輸入:syntax = "proto3";package "halo";message SearchRequest {    string query = 1;    string data = 2;}輸出:import  "google.golang.org/protobuf/types/descriptorpb"descriptorpb.FileDescriptorProto{    Package: "halo",    MessageType: []{        descriptorpb.DescriptorProto{query},        descriptorpb.DescriptorProto{data},    }}
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

除非您的平臺存在特定于平臺的運行時/庫解析器,否則最簡單的方法是使用protoc/-oFILE選項--descriptor_set_out=FILE,它解析模式并輸出作為序列化FileDescriptorSet內容的 protobuf 有效負載。您將在您的特定平臺中反序列化它,并獲取第一個(通常是唯一的)文件。對于這個反序列化步驟,您通常會使用protocdescriptor.proto模式作為輸入,以獲取該模式的特定于平臺/語言的解析器。

特定于平臺的運行時/庫解析器并不常見,并且在 3rd-party 工具中更常見;Google golang protobuf 實現是第一方的,golang AFAIK 不存在這樣的解析器。



查看完整回答
反對 回復 2022-10-24
  • 1 回答
  • 0 關注
  • 497 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號