RPC数据类型
RPC可传参数据类型
1-9为基础数据类型,可直接使用。10、11为自定义结构体,需要单独定义(章节后续会单独讲解)
- bool
- int32
- int64
- long64
- float32
- float64
- []byte
- string
- map[string]interface{}
- protocol buffer结构体
- 自定义结构体
注意调用参数不能为nil 如: result,err:=module.Invoke(“user”,"login","mqant",nil) 会出现异常无法调用
返回值可使用的参数类型
hander的返回值固定为两个,其中result表示正常业务返回值,err表示异常业务返回值
result:
- bool
- int32
- int64
- long64
- float32
- float64
- []byte
- string
- map[string]interface{}
- protocol buffer结构体
- 自定义结构体
err:
- string
- error
示例
func (self *HellWorld)say(name string) (result string,err error) {
return fmt.Sprintf("hi %v",name), nil
}
result,err:=mqrpc.String(
self.Call(
ctx,
"helloworld", //要访问的moduleType
"/say/hi", //访问模块中handler路径
mqrpc.Param(r.Form.Get("name")),
))