实现者Retriever指针和调用者取地址的问题
来源:6-4 接口的值类型

举止优雅的橘
2020-08-23
Retriever 定义为指针后,后面&real.Retriever取地址后调用才可以,而不是类似于4-1里讲到的setValue那里设置指针后,调用时不需要&取地址可以正常调用,这中间的差别请问是不是因为前面var r Retriever的限定的原因?来来回回这块看了几遍都没明白为什么要取地址
写回答
1回答
-
ccmouse
2020-08-25
其实这里需要用指针是对的。真正的问题应该是前面的SetValue为啥可以不用指针。答案是:不用指针只是个语法糖,这样写出来的代码好看些。
用不用指针,主要是在实现方法的时候,接收者这边一定要写对。调用方法的时候无所谓,编译能过就行。比如SetValue这里,系统会自动取地址进行调用00
相似问题