Q:

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

belongs to collection: Golang User-defined Function Programs

0

In this program, we will demonstrate a call by value mechanism by creating a user-defined function Swap().

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 value mechanism in the user-defined function is given below. The given program is compiled and executed successfully.

// Golang program to demonstrate the call by value mechanism
// in a 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:  10 20

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 but the modification does reflect in the calling function because here we passed the argument as a pass by value. If we want to reflect changes in argument value in the calling function then we must use a 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 demonstrate the call by referenc... >>
<< Golang program to create a user-defined function t...