43 lines
551 B
Go
43 lines
551 B
Go
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)
|
|
}
|