Skip to content

Day 04 - 函数与方法

📖 今日目标

  1. 掌握Go函数定义
  2. 理解返回值和命名返回值
  3. 学会定义方法

函数定义

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数组与切片

本文为Go 30天学习计划第4天内容

📚 导航

| ← Day 03 - 上一章 | Day 05 - 下一章 →

最后更新: