Q:

Golang program to demonstrate the call by reference mechanism in a user-defined function

belongs to collection: Golang User-defined Function Programs

0

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.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

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 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 num1num2, which are initialized with 0's. Then we printed the values of num1num2 before and after the calling of the Swap() function.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Golang program to pass an array in a user-defined ... >>
<< Golang program to demonstrate the call by value me...