Go中交换两个值类型

方式一:

package main

import(
    "fmt"
)

func swap(a *int, b *int) {
    tmp := *a
    *a = *b
    *b = tmp
}

func main() {
    a := 3
    b := 4
    fmt.Println(a, b)  // 3, 4
    swap(&a, &b)
    fmt.Println(a, b)  // 4, 3
}

方式二

package main

import(
    "fmt"
)

func swap(a int, b int) (int, int) {
    return b, a
}

func main() {
    a := 3
    b := 4
    fmt.Println(a, b)  // 3, 4
    a, b = swap(a, b)
    fmt.Println(a, b)  // 4, 3
}

方式三

package main

import(
    "fmt"
)

func main() {
    a := 3
    b := 4
    fmt.Println(a, b)  // 3, 4
    a, b = b, a
    fmt.Println(a, b)  // 4, 3
}
原文地址:https://www.cnblogs.com/staff/p/13215214.html