Golang 如何交换两个数

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 教程。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程