方法的注意事项
# 4. 方法的注意事项
# 1. 结构体类型是值类型,在方法调用中,遵守值类型的传递机制,是值拷贝传递方式
# 2. 如程序员希望在方法中,改变结构体变量的值,可以通过结构体指针的方式来处理
# 3. 如果一个类型实现了String()这个方法,那么fmt.Println默认会调用这个变量的String()进行输出
以后定义结构体的话,常定义String()作为输出结构体信息的方法,在fmt.Println会自动调用
package main
import "fmt"
type Student1 struct {
Name string
Age int
}
func (s *Student1) String() string {
str := fmt.Sprintf("Name = %v , Age = %v", s.Name, s.Age)
return str
}
func main() {
stu := Student1{
Name: "丽丽",
Age: 20,
}
//传入地址,如果绑定了String方法就会自动调用
fmt.Println(&stu)
}
/*
Name = 丽丽 , Age = 20
*/
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
编辑 (opens new window)