Goのインターフェイスを使用してRPCスタイルのインターフェイスを定義することを考えています。したがって、特定のサービスに対して、次のようなインターフェイスを作成する場合があります。
type MyService interface{
Login(username, password string) (sessionId int, err error)
HelloWorld(sessionId int) (hi string, err error)
}
私がやりたいのは、リフレクションを使用してそのインターフェイスを実装し、メソッド呼び出しをRPC呼び出しに変換し、入力パラメーターをマーシャリングし、結果をアンマーシャリングしてメソッドの出力に戻すことです。入力パラメータの[]interface{}を取得できれば、リフレクションを使用してサービスを呼び出すことができます。ただし、リフレクションを使用して、リフレクションを使用する関数を呼び出してインターフェイスを実装する値を動的に作成する方法がわかりません。安全でないものを使用していても、これを行う方法を知っている人はいますか?