(资料图片仅供参考)
duck typing
"像鸭子走路,像鸭子叫(长得像鸭子),那么就是鸭子"
描述事物的外部行为而非内部结构
严格来说go属于结构化类型系统,类似duck typing
go同时具有python,c++的duck typing的灵活性,又具备java的类型检查
接口的定义和实现
接口的实现是隐式的
只要实现接口里的方法
Retriever结构体就是对接口的一个实现,从类型检查的过程来看,编译器仅在需要时才检查类型,类型实现接口时只需要实现接口中的全部方法,不需要像 Java 等编程语言中一样显式声明