1 package main
2
3 import "fmt"
4
5 type Integer int
6 //给in类型添加 Less 方法,int原来的方法被Integer继承
7 func (a Integer) Less (b Integer) bool {
8 return a < b
9 }
10
11 //给in类型添加 Add 方法,int原来的方法被Integer继承
12 func (a *Integer) Add (b Integer) {
13 *a += b
14 }
15
16 func main() {
17 var a Integer = 1
18 if a.Less(2) {
19 fmt.Println(a, "less 2")
20 }
21
22 var b Integer = 2
23 a.Add(b)
24 fmt.Println("a =", a)
25 }
2、运行
$ go run addNewFunOfType.go
1 less 2
a = 3