猿问

Golang 使用函数返回两个变量

假设有一个函数返回两个变量。


func num(a,b int) (int,int) {

    return a+b, a-b

}

http://play.golang.org/p/bx05BugelV


并假设我有一个只接受一个 int 值的函数。


package main


import "fmt"


func main() {

    fmt.Println("Hello, playground")

    _, a := num(1, 2)

    prn(a)


}


func num(a, b int) (int, int) {

    return a + b, a - b

}


func prn(a int) {

    fmt.Println(a)

}

http://play.golang.org/p/VhxF_lbVf4


无论如何我只能在没有 _,a:=num(1,2) 的情况下获得第二个值 (ab)?像 prn(num(1,2)[1]) <-- 这行不通,但我想知道是否有类似的方法


白猪掌柜的
浏览 314回答 1
1回答

三国纷争

使用包装函数。例如,package mainimport "fmt"func main() {&nbsp; &nbsp; _, a := num(1, 2)&nbsp; &nbsp; prn(a)&nbsp; &nbsp; prn1(num(1, 2))}func num(a, b int) (int, int) {&nbsp; &nbsp; return a + b, a - b}func prn(a int) {&nbsp; &nbsp; fmt.Println(a)}func prn1(_, b int) {&nbsp; &nbsp; prn(b)}输出:-1-1
随时随地看视频慕课网APP

相关分类

Go
我要回答