【问题标题】:Arguments of go rpc. When should they be pointer?go rpc 的参数。他们什么时候应该是指针?
【发布时间】: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上下文中我不确定。 ????????????

【问题讨论】:

    标签: go pointers rpc


    【解决方案1】:

    Reply 必须是一个指针,以便函数可以为其赋值。

    和这里的例子类似:https://gobyexample.com/pointers

    【讨论】:

    • 非常感谢!?我知道指针类型和普通类型之间的区别,但我不确定在rpc上下文中。
    猜你喜欢
    • 1970-01-01
    • 2010-09-11
    • 2010-12-28
    • 2018-11-10
    • 1970-01-01
    • 2021-12-06
    • 2015-10-31
    • 2012-03-06
    相关资源
    最近更新 更多