Go - Call by value
The call with the aid of cost method of passing arguments to a feature copies the actual price of an issue into the formal parameter of the feature. Go programming language uses name via fee approach to skip arguments. Consider the function swap() definition as follows.
/* characteristic definition to swap the values */ func switch(int x, int y) int var temp int temp = x /* save the cost of x */ x = y /* put y into x */ y = temp /* placed temp into y */ return temp;allow us to call the feature switch() with the aid of passing real values as within the following instance
bundle major import "fmt" func fundamental() /* nearby variable definition */ var a int = 2 hundred var b int = 3500 fmt.Printf("Before switch, value of a : %dn", a ) fmt.Printf("Before change, price of b : %dn", b ) /* calling a characteristic to change the values */ swap(a, b) fmt.Printf("After change, fee of a : %dn", a ) fmt.Printf("After change, cost of b : %dn", b ) func swap(x, y int) int var temp int temp = x /* save the price of x */ x = y /* placed y into x */ y = temp /* positioned temp into y */ go back temp;Put the above code in a single C record, after which assemble and execute it. It will produce the following end result
$move run important.Pass Before switch, price of a : 200 Before change, cost of b : 3500 After switch, price of a : two hundred After switch, price of b : 3500
It shows that there may be no change in the values even though they had been modified in the feature.