Go语言支持多返回值函数,便于处理结果与错误。例如func divide(a, b int) (int, error)可同时返回商和错误信息;调用时通过result, err := divide(10, 2)接收,或使用_忽略不必要值;还可命名返回值如func split(sum int) (x, y int),提升可读性;常见于返回数据与error、map查找、资源初始化等场景,是Go简洁高效编程风格的核心特性之一。
Go语言原生支持函数返回多个值,这在处理错误、状态和数据时非常实用。比如标准库中很多函数都采用这种模式:返回结果的同时返回一个error。实现多返回值函数很简单,只需要在函数定义的返回类型部分列出多个类型即可。
在函数签名中,用括号将多个返回类型括起来,逗号分隔:
func divide(a, b int) (int, error) {调用该函数时,可以接收两个返回值:
result, err := divide(10, 2)Go允许在定义函数时给返回值命名,这样可以在函数体内直接使用这些变量,并且可以用return语句无参数返回。
这种方式常用于逻辑较复杂的函数,能提高代码清晰度,也方便文档生成。
多返回值在实际开发中有几个典型用途:
os.Open返回文件指针和error。split函数,把一个输入按规则分成多个输出。value, ok := m["key"]。调用多返回值函数时,有多种方式处理返回值:
// 正常接收两个值
ivide(8, 4)下划线_是空白标识符,用来丢弃不需要的返回值。
基本上就这些。Go的多返回值设计简洁高效,配合error处理习惯形成了独特的编程风格。掌握好这一特性,能让代码更安全、更清晰。