ADVERTISEMENT
ADVERTISEMENT

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

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



ADVERTISEMENT


ADVERTISEMENT
ADVERTISEMENT


Comments and Discussions!

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

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.