Go:interface原理详解-接口由使用者定义,而不是由实现者定义。
接口设计模式的常见疑惑
Golang接口由使用者定义,而不是由实现者定义。开发常见的疑惑:“如果接口是使用者定义的,那使用者怎么知道实现者有没有那个方法?会不会猜错?是不是反而更难用了?”
这个问题是很多人的困惑,而且触及了 Go 接口设计哲学中最容易让人困惑的核心矛盾:
“如果接口是使用者定义的,那使用者怎么知道实现者有没有那个方法?会不会猜错?是不是反而更难用了?”
我们来一层层拆解这个疑问,你会发现:Go 的设计其实不是“让使用者去猜”,而是“让能力自然暴露”。




