sbf123官网

RPC调用,出参指针不能返回值

typeArgsstruct{A,Bint}typeReplyMultistruct{replyintstrstring}typeArithintfunc(t*Arith)Multiply(args*Args,pV*ReplyMulti)error{pV.reply=args.A*args.BpV.str=strconv.Itoa(pV.reply)fmt.Println(pV.reply,pV.str)returnnil}调用到server端时,在接口内打印正确,varagArgsag.A=6ag.B=3varouReplyMultiarith.Multiply(ag,ou)fmt.Println(ou.reply,ou.str)直接在server端的main函数中调用打印也正确args:=Args{6,4}varreplyReplyMultierr=client.Call(“Arith.Multiply”,args,reply)iferr!=nil{log.Fatal(“aritherror:”,err)}fmt.Printf(“Arith:%d*%d=%d,%sn”,args.A,args.B,reply.reply,reply.str)但是在client里面Call后的返回值是0,reply.str为空,求解。。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章