-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgo方法
105 lines (53 loc) · 1.03 KB
/
go方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
不仅仅struct有方法,比如int、float32等也有方法
package main
import ("fmt") // 导入内置 fmt
type interge int
func (b interge) print() {
fmt.Println(b)
}
func (b *interge) change() {
*b = *b + 1
}
func main(){ // main函数,是程序执行的入口
var i interge = 10
i.print()
i.change()
i.print()
}
package main
import ("fmt") // 导入内置 fmt
type Twots struct {
a int
b int
}
func main(){ // main函数,是程序执行的入口
var tw Twots
tw.a = 1
tw.b = 24
we := tw.AddThem()
fmt.Println(we)
}
func (tn Twots) AddThem() int { //值类型,
tn.a = 23
return tn.a + tn.b //23 + 24
}
输出:
47
package main
import ("fmt") // 导入内置 fmt
type Twots struct {
a int
b int
}
func (b *Twots) change() {
b.a = 34
}
func main(){ // main函数,是程序执行的入口
tw := new(Twots)
tw.a = 1
tw.b = 23
tw.change()
fmt.Println(tw.a) // a输出为34,会发生变化,因为传入的是指针(内存地址)
}
输出:
34