请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

直接实现接口然后调用接口,使用者定义接口这个步骤会不会是多余的,存在肯定是有意义的,意义是什么?

正在回答

1回答

ccmouse 2018-11-19 20:25:56

这个意义和其他语言的接口的意义是一样的。我们举了例子说我们调用了retriever.get(url),那么retriever是啥呢?

我们从解耦的方面来理解,如何让我们和retriever解耦?也就是对retriever是啥这个问题,规定的越少越好。如何才是最少呢?答案就是:retriever是一个可以调用get(string)方法的东西。

这些就是背后的意义。retriever的使用者就是“我们”。“retriever是一个可以调用get(string)方法的东西”就是我们作为使用者定义出来的接口。而任何实现了get(string)方法的东西,不管是一个struct,还是一个其他类型别名,都可以作为retriever让我们来调用。

这个意义可能的确需要一些项目经验才能真正理解。同学可以先打个问号,以后在项目中,尤其是开源项目中,看到了接口,而且也不一定是go语言的接口,我们再回过来看看这里retriever的例子,会有新的理解。

5 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信