Golang 如何互换两个数字
在本教程中,我们将讨论在Golang中互换两个数字。我们将介绍两种方法:一是在函数中交换两个数字,二是创建一个不同的函数。
在函数中互换两个数字
算法
- 第1步 – 定义我们要交换的变量。
-
第2步 – 初始化这些变量。
-
第3步 – 在函数中交换这两个变量。
-
第4步 – 打印互换后的变量。
例子
package main
// fmt package provides the function to print anything
import "fmt"
func main() {
// define the variables we want to Swap
var number1, number2, number3 int
// initializing the variables
number1 = 45
number2 = 63
// printing the numbers before swapping
fmt.Println("Numbers before swapping: \n Number 1 =", number1,"\n Number 2 =", number2)
// swapping the numbers
number3 = number1
number1 = number2
number2 = number3
// printing the numbers after swapping
fmt.Println("Numbers after swapping:\n Number 1 =", number1,"\n Number 2 =", number2, "\n(Swap within the function)")
}
在上面的代码中,我们首先声明了两个整数变量,然后初始化这些变量。在下一步中,我们使用第三个变量在函数中交换两个整数变量。最后,我们要打印交换后的整数变量。
输出
Numbers before swapping:
Number 1 = 45
Number 2 = 63
Numbers after swapping:
Number 1 = 63
Number 2 = 45
(within the function)
用不同的函数调换两个数字
算法
- 第1步 – 定义我们要添加的变量。
-
第2步 – 初始化这些变量。
-
第3步 – 使用swapNumbers()函数交换这两个变量。
-
第4步 – 打印互换后的变量
例子
package main
// fmt package provides the function to print anything
import "fmt"
func swapNumbers(number1, number2 *int) {
var number3 int
// swapping the numbers
number3 = *number1
*number1 = *number2
*number2 = number3
}
func main() {
// define the variables we want to add
var number1, number2 int
// initializing the variables
number1 = 45
number2 = 63
// printing the numbers before swapping
fmt.Println("Numbers before swapping: \n Number 1 =", number1,"\n Number 2 =", number2)
// swapping the numbers
swapNumbers(&number1, &number2)
// printing the numbers after swapping
fmt.Println("Numbers after swapping:\n Number 1 =", number1,"\n Number 2 =", number2, "\n(Swap using different function)")
}
在上面的代码中,首先,我们要声明两个整数变量,然后我们要初始化这些变量。在接下来的步骤中,我们使用 swapNumber() 函数交换两个整数变量。最后,我们将打印交换后的整数变量。
语法
number3 = *number1
*number1 = *number2
*number2 = number3
我们是以地址调用的方式传递参数,所以值会被全局交换,由于这个原因,我们在数字1和数字2前面加了*
。在上面的代码中,我们使用第三个变量来做交换。将数字1存入数字3,然后将数字2存入数字1,再将数字3存入数字1。
输出
Numbers before swapping:
Number 1 = 45
Number 2 = 63
Numbers after swapping:
Number 1 = 63
Number 2 = 45
(within the function)
用一行代码调换两个数字
Golang支持一种语法,我们可以在一行中互换两个变量。
语法
Variable1, variable2 = variable2, variable1
例子
package main
// fmt package provides the function to print anything
import "fmt"
func main() {
// define the variables we want to add
var number1, number2 int
// initializing the variables
number1 = 45
number2 = 63
// printing the numbers before swapping
fmt.Println("Numbers before swapping: \n Number 1 =", number1,"\n Number 2 =", number2)
// swapping the numbers in one line
number1, number2 = number2, number1
// printing the numbers after swapping
fmt.Println("Numbers after swapping:\n Number 1 =", number1,"\n Number 2 =", number2, "\n(Swap using a one-liner syntax)")
}
在上面的代码中,我们首先声明了两个整数变量,然后初始化这些变量。在下一步,我们使用Golang支持的单行语法来交换两个整数变量。最后,我们将打印交换后的整数变量。
语法
number1, number2 = number2, number1 –
由于Golang支持同时初始化多个变量,所以在这一行中,我们用number2初始化number1,用number2初始化number1。
输出
Numbers before swapping:
Number 1 = 45
Number 2 = 63
Numbers after swapping:
Number 1 = 63
Number 2 = 45
(Swap using a one-liner syntax)
通过这些方式,我们可以在Golang中交换两个数字。单独的函数或单线程是在良好的编程标准下。