【发布时间】:2021-11-29 02:01:36
【问题描述】:
我已阅读 go rpc documentation,并找出 4 个条件之一:
方法的第二个参数是一个指针。
下面的方法展示了使用go rpc的正确方法,因此第二个参数是一个指针*T2。
func (t *T) MethodName(argType T1, replyType *T2) error
????????????但是,这个标准有什么理由吗?为什么应该是指针?
阅读更多示例后,发现在大多数情况下,连第一个参数都是指针!
func (t *Arith) Multiply(args *Args, reply *int) error {
*reply = args.A * args.B
return nil
}
我知道指针类型和普通类型的区别,但是在rpc上下文中我不确定。 ????????????
【问题讨论】: