package main
import"fmt"funcmain(){/* local variable definition */var a int=100var b int=200
fmt.Printf("Before swap, value of a : %d\n", a )
fmt.Printf("Before swap, value of b : %d\n", b )/* calling a function to swap the values.
* &a indicates pointer to a ie. address of variable a and
* &b indicates pointer to b ie. address of variable b.
*/swap(&a,&b);
fmt.Printf("After swap, value of a : %d\n", a )
fmt.Printf("After swap, value of b : %d\n", b )}funcswap(x *int, y *int){var temp int
temp =*x /* save the value at address x */*x =*y /* put y into x */*y = temp /* put temp into y */}
Go
当以上代码被编译和执行时,将产生以下结果-
Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :200
After swap, value of b :100