Go 面试题 003:Go 多值返回有什么用?
Go编程时光
共 1207字,需浏览 3分钟
·
2021-09-28 09:29
大家好,我是明哥。
欢迎大家再次来到 『Go 语言面试题库』 这个专栏
本专栏内容,已经上传 github:https://github.com/iswbm/golang-interview
请大家帮帮忙去点个小 ⭐⭐,在那里我对题库进行了分类整理
利用这个特性,在 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) // 2
fmt.Println(b) // 1
}
若返回的值,有的不需要,可以直接使用 占位符 _
接收,表示丢弃这个值。
a, _ = swap(a, b)
在 Go 中没有异常机制,当一个函数运行出错的时候,除了返回该功能函数的结果外,还应该返回一个 error 类型的值。
若该值为 nil 则表示,函数正常运行结束,反之,则函数运行异常。
这是 Golang 这门语言的设计哲学,因此我们不管在看别人的代码,亦或者自己写代码,都会发现代码中到处都有下面这段代码的身影。
if err != nil {
// handle error
}
⬇⬇⬇
评论