Golang 使用多返回值
在Golang中,我们可以从单个函数中一次性返回多个值。通过在函数签名中更改函数的返回类型,可以实现多个返回值。
语法 :
func value( ) **( int , int )** {
return 1 , 0 ;
}
这个函数签名中的 (int, int) 说明了返回类型是两个整数。在调用这个函数时,因此必须使用多个赋值。这个特性也可以用于从函数中返回结果和错误。如果你想要返回值的一个子集,则使用空白标识符 _。
示例1: 找出两个元素的最大值和最小值,使用此功能:
package main
import "fmt"
// 定义一个有返回类型int、int的函数
func maxmin(a int, b int) (int, int) {
if a > b {
// 使用逗号分隔多个返回值
return a, b
} else {
return b, a
}
// 返回最大、最小值
}
func main() {
// 定义两个值 a 和 b
var a = 50
var b = 70
// 使用多重赋值调用函数
var max, min = maxmin(a, b)
// 输出结果
fmt.Println("Max = ", max, "\nMin = ", min)
}
输出 :
Max = 70
Min = 50
示例2: 找出两个数字的和与差,使用此功能的多个返回值。
package main
import "fmt"
// 定义一个有返回类型int、int的函数
func sumDiff(a int, b int) (int, int) {
return (a + b), (a - b)
// 返回这两个数字的和与差
}
func main() {
// 定义两个值 a 和 b
var a = 68
var b = 100
// 使用多重赋值调用函数
var sum, diff = sumDiff(a, b)
// 输出结果
fmt.Println("Sum = ", sum, "\nDifference = ", diff)
}
输出 :
Sum = 168
Difference = -32