Go language pointer as function parameter


Release date:2023-09-16 Update date:2023-10-13 Editor:admin View counts:263

Label:

Go language pointer as function parameter

The Go language allows pointers to be passed to functions by setting thepointer type on the parameters defined by the function.

The following example shows how to pass a pointer to a function and modify the value within the function after the function call:

Example

package main
import "fmt"
func main() {
   /* Define local variables */
   var a int = 100
   var b int= 200
   fmt.Printf("Value of a before exchange : %d\\n", a )
   fmt.Printf("Value of b before exchange : %d\\n", b )
   /* Calling a function to exchange values
   * &a Address pointing to variable a
   * &b Address pointing to variable b
   */
   swap(&a, &b);
   fmt.Printf("The value of a after exchange: %d\\n", a )
   fmt.Printf("The value of b after exchange: %d\\n", b )
}
func swap(x *int, y *int) {
   var temp int
   temp = *x    /* Save the value of x address */
   *x = *y      /* Assign y to x */
   *y = temp    /* Assign temp to y */
}

The above example allows the output result to be:

Value of a before exchange: 100
Value of b before exchange: 200
Value of a after exchange: 200
Value of b after exchange: 100

Powered by TorCMS (https://github.com/bukun/TorCMS).