Go 函数返回值的几种写法

函数多返回值的几种写法

package main // 当前程序的包名
import "fmt"

// 返回单个值
func foo1(a string, b int) int {
    fmt.Println(a, b)

    c := 100
    return c
}

// 返回多个值 匿名的
func foo2(a string, b int) (int, int) {
    fmt.Println(a, b)

    return 666, 777
}

// 返回多个值 有形参名称
func foo3(a string, b int) (r1 int, r2 int) {
    fmt.Println(a, b)

    // 给有名称的返回值 赋值
    r1 = 1000
    r2 = 2000
    return
}

func foo4(a string, b int) (r1, r2 int) {
    fmt.Println(a, b)

    // 给有名称的返回值 赋值
    r1 = 1000
    r2 = 2000
    return
}

// main函数
func main() {
    c := foo1("abc", 555)
    fmt.Println(c)

    ret1, ret2 := foo2("abc", 100)
    fmt.Println(ret1, ret2)

    r1, r2 := foo3("abc", 100)
    fmt.Println(r1, r2)

    r3, r4 := foo4("abc", 100)
    fmt.Println(r3, r4)
}
原文地址:https://www.cnblogs.com/shangwei/p/15529754.html