Go语言接口(interface),Golang接口(interface)
接口本身是调用方和实现方均需要遵守的一种协议,大家按照统一的方法命名参数类型和数量来协调逻辑处理的过程。
Go 语言中使用组合实现对象特性的描述。对象的内部使用结构体内嵌组合对象应该具有的特性,对外通过接口暴露能使用的特性。
Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现。而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口。编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现。
非侵入式设计是 Go 语言设计师经过多年的大项目经验总结出来的设计之道。只有让接口和实现者真正解耦,编译速度才能真正提高,项目之间的耦合度也会降低不少。
Go 语言中使用组合实现对象特性的描述。对象的内部使用结构体内嵌组合对象应该具有的特性,对外通过接口暴露能使用的特性。
Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现。而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口。编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现。
其它编程语言中的接口
接口是一种较为常见的特性,很多语言都有接口特性。C/C++、C# 语言中的接口都可以多重派生实现接口组合;在苹果的 Objective C 中与接口类似的功能被称为 Protocol,这种叫法比接口更形象、具体。非侵入式设计是 Go 语言设计师经过多年的大项目经验总结出来的设计之道。只有让接口和实现者真正解耦,编译速度才能真正提高,项目之间的耦合度也会降低不少。
- 本章内容:
- 1. Go语言接口声明(定义)
- 2. Go语言实现接口的条件
- 3. Go语言类型与接口的关系
- 4. Go语言接口的nil判断
- 5. Go语言类型断言简述
- 6. Go语言实现日志系统(支持多种输出方式)
- 7. Go语言排序(借助sort.Interface接口)
- 8. Go语言接口的嵌套组合
- 9. Go语言接口和类型之间的转换
- 10. Go语言空接口类型(interface{})
- 11. Go语言使用空接口实现可以保存任意值的字典
- 12. Go语言类型分支(switch判断空接口中变量的类型)
- 13. Go语言error接口:返回错误信息
- 14. Go语言接口内部实现
- 15. Go语言表达式求值器
- 16. Go语言实现Web服务器
- 17. 部署Go语言程序到Linux服务器
- 18. Go语言音乐播放器
- 19. Go语言实现有限状态机(FSM)
- 20. Go语言二叉树数据结构的应用