多值返回
Go语言支持函数方法的多值返回,也就说我们定义的函数方法可以返回多个值,比如标准库里的很多方法,都是返回两个值,第一个是函数需要返回的值,第二个是出错时返回的错误信息,这种的好处,我们的出错异常信息再也不用像Java一样使用一个Exception这么重的方式表示了,非常简洁。
func main() {
file, err := os.Open("/usr/bin")
if err != nil {
log.Fatal(err)
return
}
fmt.Println(file)
}
如果返回的值,我们不想使用,可以使用_进行忽略.
file, _ := os.Open("/usr/bin")
多个值返回的定义也非常简单,看个例子。
func add(a, b int) (int, error) {
return a + b, nil
}
函数方法声明定义的时候,采用逗号分割,因为时多个返回,还要用括号括起来。返回的值还是使用return 关键字,以逗号分割,和返回的声明的顺序一致。