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