如何在 Golang 中从函数返回多个值?
在本教程中,我们将了解如何在 Golang 中使用算法和示例从函数返回多个值。像 Python 等其他编程语言一样,Golang 也支持从函数返回多个值。在第一个示例中,我们将向函数传递两个数字,并一起返回较小的数字,然后是较大的数字。在第二个示例中,我们传递两个数字并一次返回加法、减法、乘法和除法。
语法
Func functionName(arguments) (returnType1, returnType2, …) { // logic return returnTypeVariable1, returnTypeVariable2, … }
解释
(returnType1, returnType2, …) - 在此代码行中,returnType1 和 returnType2 的位置可以填写我们返回值的数据类型。
return returnTypeValue1, returnTypeValue2, … - 在这里,我们返回各自数据类型的变量。
算法
步骤 1 - 声明变量。
步骤 2 - 初始化变量。
步骤 3 - 调用返回多个值的函数。
步骤 4 - 打印结果。
示例 1
在这个示例中,我们将调用一个函数,并将两个整数作为参数传递。此函数将首先返回较小的数字,然后是较大的数字。
package main import ( // fmt package provides the function to print anything "fmt" ) func smallerNumber(number1, number2 int) (int, int) { if number1 < number2 { return number1, number2 } return number2, number1 } func main() { // declaring the variable var number1, number2 int // initializing the variable number1 = 10 number2 = 21 fmt.Println("Golang program to return the multiple values from the function in Golang.") // calling the recursive function smaller, bigger := smallerNumber(number1, number2) fmt.Println("The smaller number is", smaller) fmt.Println("The bigger number is", bigger) }
输出
Golang program to return the multiple values from the function in Golang. The smaller number is 10 The bigger number is 21
示例 2
在这个示例中,我们将编写一个函数,该函数将一次返回加法、减法、乘法和除法。这种方法将减少程序中函数调用的次数。
package main import ( // fmt package provides the function to print anything "fmt" ) func addSubMulDiv(number1, number2 int) (int, int, int, int) { var addition, subtraction, multiplication, division int // adding two numbers addition = number1 + number2 // subtracting two numbers subtraction = number1 - number2 // multiplying two numbers multiplication = number1 * number2 // dividing two numbers division = number1 / number2 return addition, subtraction, multiplication, division } func main() { // declaring the variable var number1, number2 int // initializing the variable number1 = 100 number2 = 20 fmt.Println("Golang program to return the multiple values from the function in Golang.") // calling the recursive function addition, subtraction, multiplication, division := addSubMulDiv(number1, number2) fmt.Printf("The addition of %d and %d is %d.\n", number1, number2, addition) fmt.Printf("The subtraction of %d and %d is %d.\n", number1, number2, subtraction) fmt.Printf("The multiplication of %d and %d is %d.\n", number1, number2, multiplication) fmt.Printf("The division of %d and %d is %d.\n", number1, number2, division) }
输出
Golang program to return the multiple values from the function in Golang. The addition of 100 and 20 is 120. The subtraction of 100 and 20 is 80. The multiplication of 100 and 20 is 2000. The division of 100 and 20 is 5.
结论
这就是在 Golang 中使用两个示例从函数返回多个值的方法。要了解有关 Golang 的更多信息,您可以浏览这些教程。
广告