关于 •
FAQ •
贡献者 •
晨读 •
Github •
新浪微博 •
Play •
免责声明 •
联系我们 •
捐赠 •
酷站 •
Feed订阅 •
60 人在线
最高记录 5390
©2013-2025 studygolang.com Go语言中文网,中国 Golang 社区,致力于构建完善的 Golang 中文社区,Go语言爱好者的学习家园。
Powered by
StudyGolang(Golang + MySQL) • · CDN 采用
七牛云
VERSION: V4.0.0 · 8.145741ms · 为了更好的体验,本站推荐使用 Chrome 或 Firefox 浏览器
京ICP备14030343号-1
我的理解:接口是为了抽象和解耦合。 让使用者依赖接口而不是依赖实现
对,没有用,不要学go,也不要学编程
理解理解再说
你这人有病 说话阴阳怪气的,神经病,你要是不想回答就别回答。人品有问题
就是因为不理解为什么这样写,才问的哈
抽象应该是把相同类似的功能写一遍,而不是所有的需要这个方法的结构体都要实现
接口是一种类型、go的接口相当于其他语言的父类
子类应该是有父类的属性和方法的,相同的方法和属性应该写在父类中,子类继承就好。谢谢回复
go的接口中的方法 是需要每个结构体自己实现,这样不就冗余了吗,也可能是我刚学go,还不知道接口的妙用。
接口是一种类型
很多语言都有接口的概念
比如php,java
把它理解为纯虚父类就好了,所有实现了对应方法的struct 都是它的子类
看一些官方库的设计、你就应该能明白些。例如io接口、不同平台下相同功能的不同实现
标准库 net 看看呢?看看 conn 在不同协议下的实现和其对外暴露的接口在使用者角度的统一?
或者你可以先去学习学习其他的带有完整 OO 体系的语言,比如 CPP 和 Jave,看看传统 OO 到底是怎么用的,用来干嘛的。
然后再带入 GO,看看这种 “简化” 后的 OO 又可以干些什么?
PS:推荐本 OO 思想的情景推演书,大话设计模式,比起“GOF四人帮”写的那本通俗易懂多了
统一规范化调用返回,只能说是一种规范化并不是强制这么使用,多人开发的时候接口就是一种很好典范
接口的意义在于组合,将有相似操作的服务归为一组,例如:多种文件系统,无非读写,文件信息等,改三个个功能,那么就可以定义一个包含 读写,文件信息功能的接口。不同的文件系统只要实现接口中的方法就行。
k8s CSI , CNI , CRI 的理念就来源于 Golang 的接口。