# 01-basic-functions - 基础函数 ## 知识点讲解 ### 函数基本语法 ```go func 函数名(参数列表) 返回值类型 { // 函数体 } ``` ### 无参数无返回值 ```go func greet() { fmt.Println("Hello, World!") } ``` ### 有参数无返回值 ```go func greet(name string) { fmt.Printf("Hello, %s!\n", name) } ``` ### 单返回值 ```go func add(a, b int) int { return a + b } ``` ### 多参数 ```go func multiply(a, b, c int) int { return a * b * c } ``` ### 可变参数 ```go func sum(nums ...int) int { total := 0 for _, num := range nums { total += num } return total } ``` **调用**: ```go sum(1, 2, 3) // 直接传参 nums := []int{1, 2, 3} sum(nums...) // 解包切片 ``` ### 命名返回值 ```go 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` 验证答案。