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
我们将参数作为按地址调用,因此值会在全局范围内交换,因此我们在 number1 和 number2 前面加上了 *。在上面的代码中,我们使用了一个第三个变量来进行交换。将 number1 存储在 number3 中,然后将 number2 存储在 number1 中,最后将 number3 存储在 number1 中。
输出
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支持同时初始化多个变量,因此在这行代码中,我们将number1初始化为number2,将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中交换两个数。分离函数或一行代码均符合良好的编程标准。要了解更多关于Golang的信息,你可以关注 this 教程。