Go基础:函数多返回值特性

之前在写Python程序的时候,惊叹于它支持多返回值的特性带来的便利性。在学习Go的时候,发现Go也拥有多返回值的特性。

1、基本用法

创建一个多返回值的方法:

func getACar() (brand,model,capacity,color string) {
    return "bmw","x5","3.0T","black"
}

调用:

brand,model,capacity,color := getACar()
fmt.Println(brand,model,capacity,color)

2、扩展用法

创建一个多返回值的方法:

func getUser()(name string ,age int ,address string)  {
    name = "胡大森"
    age = 19
    address = "南京市"
    return
}

调用:

var name string
var age int
var address string
var address2 string
//第一种调用方式
name,age,address = getUser()

//第二种调用方式,不需要的返回值可以用_代替
_,_,address2 = getUser()
fmt.Println(name,age,address)
fmt.Println(address2)

可以看到,Go强大的设计让我们支持多样的写法。

 

参考:《Go语言编程》-许式伟 吕桂华

posted @ 2019-11-28 16:30  京大雄  阅读(431)  评论(0编辑  收藏  举报