Files
go-basics/stage03-functions/01-basic-functions
2026-03-13 23:54:07 +08:00
..
2026-03-13 23:54:07 +08:00
2026-03-13 23:54:07 +08:00
2026-03-13 23:54:07 +08:00

01-basic-functions - 基础函数

知识点讲解

函数基本语法

func 函数名(参数列表) 返回值类型 {
    // 函数体
}

无参数无返回值

func greet() {
    fmt.Println("Hello, World!")
}

有参数无返回值

func greet(name string) {
    fmt.Printf("Hello, %s!\n", name)
}

单返回值

func add(a, b int) int {
    return a + b
}

多参数

func multiply(a, b, c int) int {
    return a * b * c
}

可变参数

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

调用:

sum(1, 2, 3)        // 直接传参
nums := []int{1, 2, 3}
sum(nums...)       // 解包切片

命名返回值

func divide(a, b int) (result int, err error) {
    if b == 0 {
        err = fmt.Errorf("division by zero")
        return
    }
    result = a / b
    return
}

重要提示

  • Go函数可以有多个返回值,这是Go的特色
  • 函数的参数和返回值都是按值传递(值传递)
  • 可变参数必须是函数的最后一个参数
  • 命名返回值可以让代码更清晰

学习目标

完成本练习后,你将:

  • ✅ 掌握函数的基本定义方式
  • ✅ 理解参数传递机制
  • ✅ 学会使用可变参数
  • ✅ 了解命名返回值的用法

练习说明

打开 main.go,根据注释提示填充代码,完成后运行 go test -v 验证答案。