# 参数与返回值

URL: https://caijiao.org/go/01-go-basic/12-params-return
Source: docs/go/01-go-basic/12-params-return.md
Description: 本节讲解 Go 语言中函数的参数传递和返回值，包括多参数、命名返回值和多返回值的使用方法。

函数的参数和返回值是函数输入输出的基础，Go 语言支持丰富的参数和返回值形式。

## 1. 多参数

函数可以有多个参数，类型相同的参数可以简写：

```go
func multiply(a, b int) int {
    return a * b
}
````

## 2. 多返回值

Go 支持函数返回多个值，常用于返回结果和错误：

```go
func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}
```

调用时：

```go
q, r := divide(10, 3)
```

## 3. 命名返回值

函数返回值可以命名，函数体内直接赋值，最后用 `return` 返回：

```go
func swap(a, b string) (x, y string) {
    x = b
    y = a
    return
}
```

## 4. 参数传递示例

```go
func greet(name string) string {
    return "Hello, " + name
}
```

调用：

```go
msg := greet("Alice")  // "Hello, Alice"
```

---

合理使用参数和返回值，使函数更灵活和易用。
