package main
import (
"google.golang.org/protobuf/proto"
)
type NetMessage struct {
Data []byte
}
type Route struct {
}
type AbstractParse interface {
Parse(*NetMessage) proto.Message
}
type MessageParse[T proto.Message] struct {
}
func (p *MessageParse[T]) Parse(message *NetMessage) proto.Message {
protoT := &T{}
if len(message.Data) > 0 {
err := proto.Unmarshal(message.Data, protoT)
if err != nil {
return nil
}
}
return protoT
}
当我尝试对 Go 进行通用编码时,我遇到了这个问题:
./prog.go:23:13: 无效复合文字类型 T
原因是什么?有什么办法可以解决吗?
代码链接: https: //go.dev/play/p/oRiH2AyaYb6
12345678_0001
相关分类