我有一个想法在 Go 中使用接口来定义 RPC 样式接口。所以对于给定的服务,我可能会创建一个这样的接口:
type MyService interface{
Login(username, password string) (sessionId int, err error)
HelloWorld(sessionId int) (hi string, err error)
}
我想做的是使用反射来实现该接口,将方法调用转换为 RPC 调用,编组输入参数,并将结果解组回方法的输出。我知道如果我可以获得输入参数的 []interface{},我可以使用反射来进行服务调用。但是,我看不到任何使用反射的方法来动态创建一个值,该值将通过调用我的反射使用函数来实现接口。有谁知道这样做的方法,即使使用不安全?