Home »
Golang »
Golang Programs
Golang program to demonstrate the call by reference mechanism in a user-defined function
Here, we are going to demonstrate the call by reference mechanism in a user-defined function in Golang (Go Language)?
Submitted by Nidhi, on March 10, 2021 [Last updated : March 03, 2023]
Call by reference in Golang
Problem Solution:
In this program, we will demonstrate a call by reference mechanism by creating a user-defined function Swap() and pass arguments using the pointer to interchange the value of variables.
Program/Source Code:
The source code to demonstrate the call by reference mechanism in the user-defined function is given below. The given program is compiled and executed successfully.
Golang code to demonstrate the example of call by reference mechanism in a user-defined function
// Golang program to demonstrate the call by reference mechanism
// in user-defined function
package main
import "fmt"
func Swap(num1 *int, num2 *int) {
var temp int = 0
temp = *num1
*num1 = *num2
*num2 = temp
}
func main() {
var num1 int = 10
var num2 int = 20
fmt.Println("Numbers before swapping: ", num1, num2)
Swap(&num1, &num2)
fmt.Println("Numbers after swapping: ", num1, num2)
}
Output:
Numbers before swapping: 10 20
Numbers after swapping: 20 10
Explanation:
In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt package that includes the files of package fmt then we can use a function related to the fmt package.
In this program, we created a user defined function Swap() to interchange the value of two numbers, which is given below:
func Swap(num1 *int, num2 *int){
var temp int=0
temp=*num1
*num1=*num2
*num2=temp
}
The Swap() function interchange the value of passed arguments. Here we used pointers to implement pass by reference mechanism.
In the main() function, we created two variables num1, num2, which are initialized with 0's. Then we printed the values of num1, num2 before and after the calling of the Swap() function.
Golang User-defined Function Programs »