【发布时间】:2023-03-11 01:17:02
【问题描述】:
我有一个想法,在 Go 中使用接口来定义 RPC 样式接口。所以对于给定的服务,我可能会创建一个这样的接口:
type MyService interface{
Login(username, password string) (sessionId int, err error)
HelloWorld(sessionId int) (hi string, err error)
}
我想做的是使用反射来实现该接口,将方法调用转换为 RPC 调用,编组输入参数,并将结果解组回方法的输出。我知道如果我可以获得输入参数的 []interface{},我可以使用反射来进行服务调用。但是,我看不到任何方法可以使用反射来动态创建一个值,该值将通过调用我的反射使用函数来实现接口。有谁知道这样做的方法,即使使用不安全?
【问题讨论】:
-
以下两个答案都是准确和真实的。由于对此有赏金,您应该将其中一个标记为您的答案。你不会让任何人说别的。
标签: reflection go