小白一枚,平时用函数比较多,写习惯了,感觉很多事都能搞定,可能是自己接触的需求都太low了。 没用过接口,请问在实际项目中函数和接口的优劣是啥?哪些方面接口比函数好?好在哪? 感谢各位大牛指导!
有疑问加站长微信联系(非本文作者)
小白一枚,平时用函数比较多,写习惯了,感觉很多事都能搞定,可能是自己接触的需求都太low了。 没用过接口,请问在实际项目中函数和接口的优劣是啥?哪些方面接口比函数好?好在哪? 感谢各位大牛指导!
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
面向接口,低耦合,易扩展吧
实现相同功能的不同实现,就用接口,比如源码中的 hash.Hash,有多种实现,md5.New() 和 sha1.New() 等。如果用函数的话,可能就需要实现很多不同名称的函数。 在使用时,仅需要传入不同接口,即可实现不同hash算法。而且接口可以自己进行扩展。 函数也能实现这些功能,但要取不同的函数名。
感谢感谢
借口的话是不是也要实际写不同的方法才行?
我也不懂道理。但就是用。显得我不是菜鸟
可以可以,我也用,bug可以多,逼格一定要高。哈哈
抛开所谓的低耦合的八股文,Go里面使用接口还有另外一个用途:避免循环依赖。 试想package x需要package y的类型,y同时需要x的功能,那么就循环依赖了。 如果x使用接口,y来提供实现,那么就不存在循环依赖了。
11
收到,感谢Neightly大佬指导。