Go, go|小白的go小抄:方法、接口和其他类型
方法
指针 VS. 值
可以为任何命名类型(除了指针或者接口外)定义方法。方法的接收者不是一定要是结构的。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type ByteSlice []byte
// 值方法
func (slice ByteSlice) Append(data []byte) []byte { // 要求该方法返回更新的值
.....
}
// 指针方法
func (p *ByteSlice) Append(data []byte) { // 这个方法可以修改调用者,因此不用返回
slice