2 ways to find swap two numbers/variables in Golang Example
- Admin
- Dec 31, 2023
- Golang-examples
In this article, you are about to learn two ways to swap two numbers or variables in Go language.
The first method is to swap variables in a temporary variable, while the second alternative is not to use a temporary variable.
How to Swap two numbers using a temporary variable Golang?
Two variables number1
and number2
are declared and assigned with 12
and 30
values respectively.
Here is a sequence of steps for swapping numbers
- First, the
number1
variable value is assigned to atemporary
variable - Next, the
number2
variable value is assigned to thenumber1
variable - Finally, the
temporary
(initialnumber1
variable value) value is assigned to thenumber2
variable value.
Here temporary
variable is declared and used to store the number1
value before swapping. number1
and number2
variable values are printed to the console before and after the swapping process using the Println
function.
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 a 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)
}
The above program is compiled and executed, Output is
Before Swap process
Number1: 12
Number2: 30
After Swap process
Number1: 30
Number2: 12
How to Swap two numbers without using a temporary variable Golang?
In this program, Numbers are swapped without using a temporary variable.
Here, tuple assignments are used to swap the numbers. Swapped numbers a reprinted to the console using the println
function.
Here is a program swap number using the tuple assignment.
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)
}
Output:
Before Swap process
Number1: 12
Number2: 30
After Swap process
Number1: 30
Number2: 12
Conclusion
To conclude, there is no performance difference; you can use any approach based on your preferences.