主题
多返回值
Go 语言支持函数返回多个值,这是它的一大特色,广泛用于返回结果和错误信息。
1. 多返回值定义
函数返回多个值时,用括号包裹返回类型:
go
func divide(a, b int) (int, int) {
quotient := a / b
remainder := a % b
return quotient, remainder
}
2. 多返回值调用
调用时需要用多个变量接收:
go
q, r := divide(10, 3)
fmt.Println(q, r) // 输出:3 1
如果不需要某个返回值,可以使用空白标识符 _
:
go
q, _ := divide(10, 3)
3. 错误处理示例
多返回值常用来返回结果和错误:
go
func sqrt(value float64) (float64, error) {
if value < 0 {
return 0, fmt.Errorf("负数没有平方根")
}
return math.Sqrt(value), nil
}
调用时:
go
result, err := sqrt(-1)
if err != nil {
fmt.Println("错误:", err)
} else {
fmt.Println("结果:", result)
}
多返回值让函数设计更加灵活,方便同时返回多个相关信息。