最近在学习grpc和consul服务治理的东西, 发现一个理解不了的事情,自己实现的resolver.builder接口的build方法需要一个resolver.ClientConn接口的实现,但是文档中说不需要实现这个接口的方法,所以我就只定义了一个空的struct,然后实现了这个接口中的方法,的但是方法体都是空的。
这个接口中最主要的方法是NewAddress方法,可是我传入的实现这个方法的方法体都没有,可是对代码功能却有很大的影响,具体表现为, 如果我不调这个方法,或者方法传入nil参数, grpc的客户端就发现不了服务,但是我也没在那儿看到有地方拿了我传入这个方法的参数....对不起有点绕, 我也不知道怎么描述。
代码地址:https://github.com/humyPro/grpc_cluster.git
![image.png](https://static.studygolang.com/190517/4faf7788d1a1bb6b3854ad006b78f98c.png)
方法调用, 如果传入的参数是nil, 就发现不了grpc的服务端
![image.png](https://static.studygolang.com/190517/8f9059016c933cf69f26758261f9c719.png)
有疑问加站长微信联系(非本文作者)