在Golang中交换两个数字/变量的2种方法(附实例)

527 阅读2分钟

在这篇文章中,我们将看一下Go语言中交换两个数字或变量的两种方法。

第一种方法是在一个临时变量中交换变量,而第二种方法是不使用临时变量。

如何使用临时变量交换两个数字?

声明了两个变量number1和number2,并分别为它们分配了12和30的数值。

下面是交换数字的一系列步骤

  • 首先,数字1的变量值被分配给一个临时变量
  • 接下来,数字2的变量值被分配到数字1的变量上
  • 最后,临时(初始数字1变量值)值被分配给数字2变量值。

在这里,临时变量被声明并用于在做交换前存储number1的值。在交换过程前后,使用Println函数将number1和number2的变量值打印到控制台。

package main  
  
import (  
 "fmt"  
)  
  
func main() {  
 number1, number2 := 12, 30  
 fmt.Println("Before Swap process")  
 fmt.Println("Number1:", number1)  
 fmt.Println("Number2:", number2)  
  
 // number1 is assigned to temporary variable  
 temporary := number1  
 // number1 is assigned to number2 variable  
 number1 = number2  
 //  temporary  is assigned to number2  
 number2 = temporary  
  
 fmt.Println("After Swap process")  
 fmt.Println("Number1:", number1)  
 fmt.Println("Number2:", number2)  
}  

上述程序被编译并执行,输出为

Before Swap process  
Number1: 12  
Number2: 30  
After Swap process  
Number1: 30  
Number2: 12  

如何在不使用临时变量的情况下互换两个数字?

在这个程序中,不使用临时变量进行数字交换。这里使用元组赋值来交换数字,使用println 函数将交换的数字重新打印到控制台 这里是一个使用元组赋值交换数字的程序。

package main  
  
import (  
 "fmt"  
)  
  
func main() {  
 number1, number2 := 12, 30  
 fmt.Println("Before Swap process")  
 fmt.Println("Number1:", number1)  
 fmt.Println("Number2:", number2)  
 number1, number2 = number2, number1  
  
 fmt.Println("After Swap process")  
 fmt.Println("Number1:", number1)  
 fmt.Println("Number2:", number2)  
}  

输出是

Before Swap process  
Number1: 12  
Number2: 30  
After Swap process  
Number1: 30  
Number2: 12  

结论

总而言之,在性能上没有区别;你可以根据你的喜好使用任何方法。