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

Here, we are going to demonstrate the call by value mechanism in a user-defined function in Golang (Go Language)?
Submitted by Nidhi, on March 10, 2021

Problem Solution:

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

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)


Numbers before swapping:  10 20
Numbers after swapping:  10 20


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

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 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 »


Comments and Discussions!

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.