package main import "fmt" func swap(a int, b int) (int, int) { var tmp int tmp = a a = b b = tmp return a, b } func swap2(pa *int, pb *int) { var temp int temp = *pa // temp = main::a *pa = *pb // main::a = main::b *pb = temp // main::b = temp } func main() { var a int = 10 var b int = 20 fmt.Println("a = ", a, " b = ", b) swap2(&a, &b) // a, b = swap(a, b) fmt.Println("a = ", a, " b = ", b) var p *int p = &a fmt.Println(&a) fmt.Println(p) var pp **int pp = &p fmt.Println(&p) fmt.Println(pp) fmt.Println(&pp) }