作者回复: 之所以穿指针是为了数据复制,interface是协议定义并不包含数据
作者回复: 通常先定义两个模块交互的方法,这些方法定义在接口里。然后,模块都依赖于接口。各模块的分别实现自己的,接口就像协议。
作者回复: 这里是方法类型的定义,就像你定义struct,这里不是类型转化。
至于性能和消耗,接下我的课程会讲如何benchmark代码,留给你自己实验分析得出结论,并分享给大家
作者回复: 你想说的是override吧,是指子类覆盖父类的方法,至于overload是指同一个类中方法名相同,但参数不同的方法。
上面代码,并不属于这些,只是同一接口的不同实现。
作者回复: 这里要用指针才行: animal := append(zoo, &dog1)
作者回复: 不用担心,多看看我给的例子,多改多试
作者回复: 改为func write_sth(p Programmer)