对于接口,应使用组合而非继承的方式扩展;
对于结构体,应定义独立的结构体,而非用嵌套模拟继承。
值接收者和指针接收者:
1、对于不可变类型创建只接受值接收者的方法,而为可变的类型创建接受指针接收者的方法。
(对于可变类型,让部分方法接受值而让其他方法接受指针式完全可行的,但是使用中可能不太方便。)
2、对于大的结构体类型最好使用指针,这样能将开销保持在只传递一个指针的程度。
对于接口,应使用组合而非继承的方式扩展;
对于结构体,应定义独立的结构体,而非用嵌套模拟继承。
值接收者和指针接收者:
1、对于不可变类型创建只接受值接收者的方法,而为可变的类型创建接受指针接收者的方法。
(对于可变类型,让部分方法接受值而让其他方法接受指针式完全可行的,但是使用中可能不太方便。)
2、对于大的结构体类型最好使用指针,这样能将开销保持在只传递一个指针的程度。