Go 面试题 003:Go 多值返回有什么用?
Go编程时光
共 1207字,需浏览 3分钟
· 2021-09-28
大家好,我是明哥。
欢迎大家再次来到 『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
}
⬇⬇⬇
评论
Go Heap Profile 怎么了?
Go heap profile 是常常用来检查内存泄露和内存占用大问题的问题的手段,而且非常常用。而且,我们也经常创建两个间隔较长的 heap profile, 获取它们的差值来方便查看内存泄露: Hi, 使用多年的 go pprof 检查内存泄漏的方法居然是错的?! [1]今天,度厂的一位同学提出
GoCN
0
Go 1.22 的新增功能系列之二:reflect.TypeFor
Go 1.22 的第一个候选版本已经发布,这意味着最终版本即将发布,现在是我在博客中介绍我在这个周期中所做工作的时候了。像往常一样,我的贡献很小,但它们是我的,所以我将从幕后的角度来谈谈它们。首先是reflect.TypeFor。这是整个函数:// TypeFor returns the [Type
GoCN
0
Go早期是如何在Google内部发展起来的
2007年Go诞生于Google,2009年Google正式对外宣布了Go语言的开源!时至今日,距离Go开源已经过去了近15个年头了[1]!Go在Google公司内部究竟是怎样的一个状态呢?前Google员工Yves Junqueira近期撰文从其个人所见所闻谈了Go在Google的历程[2]!这里
GoCN
0
Go 1.22 的新增功能系列之一:cmp.Or
截至撰写本文时,Go 1.22 已经发布几个月了。早就该结束我为 1.22 所做的工作的系列了。抱歉耽搁了这么久,我最近忙于生活事务。如果您错过了我关于reflect.TypeFor(https://blog.carlana.net/post/2024/golang-reflect-type-for
GoCN
1
【送书福利】《Java面试八股文:高频面试题与求职攻略一本通》
先来唠唠最近粉丝面试回来跟我聊天,基本上都提到一个点,在面试过程中八股文占比很高(八股文70%、项目20%、10%算法)除了一些搞算法突出的厂除外。其实现在很多厂八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。最近刚好从一位
Java后端技术
0
面试官:在原生input上面使用v-model和组件上面使用有什么区别?
前言面试官:vue3的v-model都用过吧,来讲讲。粉丝:v-model其实就是一个语法糖,在编译时v-model会被编译成:modelValue属性和@update:modelValue事件。一般在子组件中定义一个名为modelValue的props来接收父组件v-model传递的值,然后当子组
高级前端进阶
0
上班的时候,有一群摸鱼搭子非常重要...
上班的时候,有一群摸鱼搭子非常重要!一到上班时间,他们就从四面八方涌进群里冒泡...从八卦聊到股市、从职场聊到乌X兰局势,偶尔还会复读、相亲、battle...然后,下午6点钟准时消失不见...所以你要不要加入我们一起摸鱼?我们有北京、上海、深圳、广州、杭州、武汉、成都、南京等8个城市的摸鱼群,还有
产品经理日记
0
知乎高问:程序员有必要知道为什么做某个功能吗?
将Python客栈设为“星标⭐”第一时间收到最新资讯前言知乎上有一个提问:程序员有必要知道为什么做某个功能吗?↓↓↓今天,我们就这个话题一起来做个讨论。不知道程序员的你,在接到产品经理提的一个需求后,是习惯马上动手开始撸代码呢?还是会先暂停一下,认真思考一会如下一些问题,比如这个需求产生的背景是什么
Python客栈
0