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

我们是以地址调用的方式传递参数,所以值会被全局交换,由于这个原因,我们在数字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中交换两个数字。单独的函数或单线程是在良好的编程标准下。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程