在 Go 语言中,函数可以返回多个值,这与其它编程语言有很大的不同。对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性。
在 Go 语言中,函数的返回值是一个元组,元组中的每个元素都可以是不同的类型。例如,以下函数返回两个值:
Go
func myFunc() (int, string) {
return 1, "hello"
}
在调用函数时,可以使用多个变量来接收返回值。例如:
Go
x, y := myFunc()
fmt.Println(x, y) // 输出:1 hello
如果只想使用部分返回值,可以使用空白标识符 _
来忽略不需要的返回值。例如:
Go
x, _ := myFunc()
fmt.Println(x) // 输出:1
使用多个返回值的好处
使用多个返回值可以使代码更加简洁易读。例如,以下代码使用多个返回值来返回一个错误:
Go
func myFunc() (int, error) {
if err := ...; err != nil {
return 0, err
}
return 1, nil
}
在调用函数时,可以使用 err := myFunc()
来检查错误。如果 err
为空,则表示函数执行成功。否则,err
将包含错误信息。
总结
Go 语言允许多个返回值,这是一种强大的功能,可以使代码更加简洁易读。