作者回复: 谢谢指正。我的理解来自于 https://en.wikipedia.org/wiki/Single-responsibility_principle > 一个类或模块应该有一个,而且只有一个,改变(例如重写)的理由
作者回复: 👍 非常好!
作者回复: 👍
作者回复: trait 就是让对应的类型拥有对应的行为。所以你为 struct 实现 trait,这个 struct 类型就有了 trait 的行为;你对 struct 的引用实现 trait,struct 类型的引用就有了 trait 的行为;裸指针也是类似。当你持有一个 *const MyStruct 的数据时,你可以调用 trait 的方法。对裸指针来说,一般实现 trait 的意义不大,因为 self 此时可干的事情很少。
作者回复: 👍