Tôi đã đọc một Tour of Go và Go hiệu quả, http://golang.org/doc/effective_go.html#pointers_vs_values, nhưng vẫn còn khó hiểu khi bạn định nghĩa một phương thức trên một struct. phương thức nhận. Nói cách khác, khi nào điều này:Phương thức nhận giá trị của Go so với phương thức nhận con trỏ
type ByteSlice []byte
func (slice ByteSlice) Append(data []byte) []byte {
}
thích hợp hơn điều này?
func (p *ByteSlice) Append(data []byte) {
slice := *p
*p = slice
}