Appearance
Day 04 - 函数与方法
📖 今日目标
- 掌握Go函数定义
- 理解返回值和命名返回值
- 学会定义方法
函数定义
go
func add(a, b int) int {
return a + b
}
// 命名返回值
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return // 命名的返回值
}方法定义
go
type User struct {
Name string
}
// 方法
func (u User) SayHello() {
fmt.Println("Hello,", u.Name)
}
// 指针接收者
func (u *User) SetName(name string) {
u.Name = name
}可变参数
go
func sum(nums ...int) int {
total := 0
for _, n := range nums {
total += n
}
return total
}面试考点
问题:Go方法中指针接收者和值接收者的区别?
答案:
- 值接收者:修改不会影响原对象
- 指针接收者:修改会影响原对象
通常如果方法需要修改对象状态,使用指针接收者。
📅 学习进度
| Day | 主题 | 状态 |
|---|---|---|
| 01-03 | 基础语法 | ✅ |
| 04 | 函数与方法 | ✅ |
| 05 | 数组与切片 | ⬜ |
