1 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
golang 原型庫(kù)有一個(gè)用于此目的的輔助實(shí)用程序:
// MessageType returns the message type (pointer to struct) for a named message.
// The type is not guaranteed to implement proto.Message if the name refers to a
// map entry.
func MessageType(name string) reflect.Type {
? ?// ....
}
要使用它,您可以使用類似于此的方法:
func getProto(messageType string, messageBytes []byte) proto.Message {
? ? pbtype := proto.MessageType(messageType)
? ? msg := reflect.New(pbtype.Elem()).Interface().(proto.Message)
? ? proto.Unmarshal(messageBytes, msg)
? ? return msg
}
- 1 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報(bào)