Go 中没有面向对象的 implements 关键字,一个类型实现了一个接口是隐式的。
其实显式声明主要为了让编译器提前判断接口是否被实现而已。
所以在 Go 中还是有很多方式的。
如下所示 *UserCacher 实现了 Cacher 接口
1 | // Cacher key-value for string |
为了让编译器提前判断的话,可这样做:
1 | // Verify that *UserCacher implements Cacher |
或者在一个“构造函数”内实现:
1 | func NewUserCacher() Cacher { |