假设有一个函数返回两个变量。
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-b)而没有_,a:= num(1,2)?? 像prn(num(1,2)[1])< - 这样的东西不起作用,但我想知道是否有类似的方式
谢谢
答案 0 :(得分:3)
使用包装函数。例如,
package main
import "fmt"
func main() {
_, a := num(1, 2)
prn(a)
prn1(num(1, 2))
}
func num(a, b int) (int, int) {
return a + b, a - b
}
func prn(a int) {
fmt.Println(a)
}
func prn1(_, b int) {
prn(b)
}
输出:
-1
-1