Files
go-basics/stage03-functions/01-basic-functions/README.md
T

95 lines
1.5 KiB
Markdown
Raw Normal View History

2026-03-13 23:54:07 +08:00
# 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` 验证答案。