1 在golang中,只要对象实现了某个接口i的所有方法,就能赋值给该接口变量,这是golang实现鸭子类型的基础或前提,有了这个前提,当函数的接收参数是接口的时候,无需关系传入的对象是什么类型,只要它实现了该接口的所有方法,就说该对象是满足该函数的输入参数的数据类型,即只要它满足了鸭子的方法,不管是不是鸭子,都认为它是鸭子,就可以往函数里传,
参考:https://segmentfault.com/a/1190000019607240
https://blog.csdn.net/qq_39478403/article/details/107371850?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
https://blog.51cto.com/speakingbaicai/1703249