Go语言示例-函数返回多个值

Go语言中函数可以返回多个值,这和其它编程语言有很大的不同。对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性。

 

简单如交换两个数值的例子:

package main

 

import "fmt"

 

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

return b, a

}

 

func main() {

a := 1

b := 2

 

a, b = swap(a, b)

 

fmt.Println(a)

fmt.Println(b)

}

 

输出结果为:

2

1

如果在其它语言中,我们第一想到的肯定是建立一个中间变量做交换。但在Go使用返回多个值的功能很容易的就实现了。

另外,在Go中,声明的变量没有使用的话,编译无法通过。所以如果多返回值函数返回的值中,有的不需要,可以用下划线来接收值,表示丢弃这个值,如上面的例子中,只需要返回的第一值,可以这样:

a, _ = swap(a, b)

posted @ 2015-03-03 09:07  klain  阅读(15419)  评论(0编辑  收藏  举报