![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 85
coding进阶
清华,互联网大厂和量化投资
展开
-
Go 1.21的2个语言变化
Go 1.20已经于今年2月份发布,Go 1.21也不远了,我们来先堵为快,看看Go 1.21版本里几个有趣的变化。对于slice,调用clear函数,会保持原slice的长度不变,把里面元素的值修改为slice元素类型的零值。Go 1.21会新增一个clear函数,用于清理map和slice里的元素。对于map,调用clear函数,会直接把map里的元素清空,成为一个empty map。领取资料礼包,这份资料会不定期更新,加入我觉得有价值的资料。」,和同行一起交流学习,答疑解惑。文末附送2道面试题。原创 2023-02-18 14:22:20 · 1909 阅读 · 0 评论 -
Go常见错误系列的第13篇:init函数的常见错误和最佳实践
这是Go常见错误系列的第13篇:init函数的常见错误和最佳实践。素材来源于Go布道者,现Docker公司资深工程师。Go常见错误源代码,欢迎大家关注公众号,及时获取本系列最新更新。init函数要慎用,如果使用不当可能会带来问题,千万不要在代码里依赖同一package下不同.go文件init的执行顺序。init函数没有参数,没有返回值。如果加了参数或返回值,会编译报错。一个package下面的每个.go源文件都可以有自己的init函数。原创 2022-10-25 21:50:08 · 1641 阅读 · 0 评论 -
Go Quiz: 从Go面试题看recover注意事项第1篇
面试题这是Go Quiz系列里关于recover的第1篇,主要考察recover函数在什么情况下可以捕获到panic。func main() { fmt.Print("1 ") defer recover() fmt.Print("2 ") var a []int _ = a[0] f原创 2022-09-17 09:42:26 · 206 阅读 · 0 评论 -
Go十大常见错误第10篇:Goroutine和循环变量一起使用的坑
前言这是Go十大常见错误系列的第10篇:Goroutine和循环变量一起使用的坑。素材来源于Go布道者,现Docker公司资深工程师Teiva Harsanyi[1]。本文涉及的源代码全部开源在:Go十大常见错误源代码[2],欢迎大家关注公众号,及时获取本系列最新更新。常见错误对于Go初学者,很容易犯的一个错误就是goroutine和循环变量结合在一起使用时,错误地使用了循环变量。比如下面这个例子:ints := []int{1, 2, 3}for&nbs原创 2022-09-08 21:59:15 · 1275 阅读 · 1 评论 -
Go十大常见错误第8篇:并发编程中Context使用常见错误
前言这是Go十大常见错误系列的第8篇:并发编程中Context使用常见错误。素材来源于Go布道者,现Docker公司资深工程师Teiva Harsanyi[1]。本文涉及的源代码全部开源在:Go十大常见错误源代码[2],欢迎大家关注公众号,及时获取本系列最新更新。Context是什么Go语言标准库里有一个package叫context,该package里定义了context.Context[3]类型,在并发编程里非常有用,但是也经常被开发者误解。官方对Context的表述是:Package c原创 2022-09-04 12:29:54 · 1702 阅读 · 0 评论 -
Go十大常见错误第7篇:不使用-race选项做并发竞争检测
前言这是Go十大常见错误系列的第7篇:不使用-race选项做并发竞争检测。素材来源于Go布道者,现Docker公司资深工程师Teiva Harsanyi[1]。本文涉及的源代码全部开源在:Go十大常见错误源代码[2],欢迎大家关注公众号,及时获取本系列最新更新。背景并发编程里很容易遇到并发访问冲突的问题。Go语言里多个goroutine同时操作某个共享变量的时候,如果一个goroutine对该变量做写操作,其它goroutine做读操作,假设没有做好并发访问控制,就容易出现并发访问冲突,导致程序c原创 2022-08-26 22:39:50 · 470 阅读 · 0 评论 -
Go Quiz: 从Go面试题看锁的注意事项
Google工程师Valentin Deleplace出了2道关于锁的题目,拿出来和大家分享下。原创 2022-03-12 11:51:02 · 638 阅读 · 0 评论 -
Go Quiz: 从Go面试题看函数命名返回值的注意事项(超过80%的人都回答错了)
Redhat的首席工程师、Prometheus开源项目MaintainerBartłomiej Płotka在Twitter上出了一道Go编程题,结果超过80%的人都回答错了。原创 2022-02-21 12:54:32 · 184 阅读 · 0 评论 -
Go语言中fmt.Println(true)的结果一定是true么?
背景Honeycomb的首席开发布道者Jessica在Twitter上发了一条状态:fmt.Println("What is truth?", true)can output:What is truth? false意思是下面代码的执行结果可能是What is truth? falsefmt.Println("What is truth?", true)大家可以先想想什么情况下会出现这样的结果。解析我们来看下面这段代码:// identifier.gop原创 2022-02-17 13:18:47 · 320 阅读 · 0 评论 -
Go Quiz: 从Go面试题看panic注意事项第1篇
这是Go Quiz系列里关于panic的第1篇,主要考察同一个goroutine在多次panic场景下recover的机制。原创 2022-02-07 15:06:05 · 267 阅读 · 0 评论 -
Go Quiz: Google工程师的Go语言面试题
Google工程师和Go语言布道者Valentin Deleplace会不定期分享一些Go语言的趣味题目。我选取了最近的几道题目,给大家春节加加餐。原创 2022-01-31 16:15:37 · 782 阅读 · 0 评论 -
Go Quiz: 从Go面试题看channel在select场景下的注意事项
这是Go Quiz系列中关于channel的第2篇,涉及channel被close后的特性,以及在select和channel一起使用时的注意事项。这道题目来源于Google的工程师Valentin Deleplace。原创 2022-01-24 23:34:12 · 234 阅读 · 0 评论 -
Go Quiz: 从Go面试题搞懂slice range遍历的坑
最近Go 101的作者发布了11道Go面试题,非常有趣,打算写一个系列对每道题做详细解析,欢迎大家关注。本题是Go quiz slice系列的第2道题目,这道题非常有迷惑性。通过这道题我们可以知晓对slice做range遍历的坑,避免在实际项目中踩坑。原创 2022-01-23 11:06:51 · 345 阅读 · 0 评论