我将在我的Go项目中使用gRPC。以下是代码:
example.proto:
syntax = "proto3";
message Example {
string message = 1;
google.protobuf.Any details = 2;
}
main.go
func logMessage (m string, d interface{}) {
message := & example.message{
message: m,
details: ??
}
log(&message)
}
但我不确定如何处理细节(interface{})字段。我知道我可以使用任何类型来表示接口,但不确定如何在这里使用它。有人可以帮忙吗?谢谢
protobuf.Any
必须是一个 proto.Message。你可以直接传递一个,或者进行类型断言。例如:d.(proto.Message)
。 - Marc