go语言官方推荐的做法是这样,
当咱们的方法接受者是一个channel通道,函数,map时,建议使用值类型,主要还是因为他们自身就是引用类型。
或者说当接受者是一个基本的数据类型时,比如前面咱们讲解的数值类型,字符串类型,建议使用值类型,值类型可以有效减少垃圾数据的产生。
当咱们的方法接收者是需要修改值时,可以使用引用类型,一般在加锁的时候,或者涉及到结构体字段值同步时,用到引用类型,这样效率更高。
或者说结构体,切片以及数组,当其中的元素是引用类型,而且在项目中明确知道其值可能会被修改时,建议使用引用类型做为接受者。