动图图解!怎么让goroutine跑一半就退出?

2022-11-23
阅读 6 分钟
2k
本文参与了思否技术征文,欢迎正在阅读的你也加入。光看标题,大家可能不太理解我说的是啥。我们平时创建一个协程,跑一段逻辑,代码大概长这样。 {代码...} 注意这上面"打印2"是在defer中的,所以会在函数结束前打印。因此后置于"打印3"。那么今天的问题是,如何让Foo()函数跑一半就结束,比如说跑到打印2,就退出协程...

硬核图解!断网了,还能ping通 127.0.0.1 吗?为什么?

2021-06-17
阅读 6 分钟
3.4k
可能看到标题,你就知道答案了,但是你了解背后的原因吗?那如果把 127.0.0.1 换成 0.0.0.0 或 localhost 会怎么样呢? 你知道这几个IP有什么区别吗?
封面图

golang i/o timeout , 希望你不要踩到这个net/http包的坑

2021-04-22
阅读 11 分钟
31.5k
文章持续更新,可以微信搜一搜「golang小白成长记」第一时间阅读,回复【教程】获golang免费视频教程。本文已经收录在GitHub [链接] , 有大厂面试完整考点和成长路线,欢迎Star。
封面图

程序猿的第一本互联网黑话指南

2021-04-08
阅读 4 分钟
3.4k
文章持续更新,可以微信搜一搜「golang小白成长记」第一时间阅读,回复【教程】获golang免费视频教程。本文已经收录在GitHub [链接] , 有大厂面试完整考点和成长路线,欢迎Star。
封面图

硬核!阿里面试就是不一样!30张图带你搞懂路由器,集线器,交换机,网桥,光猫有啥区别?

2021-04-07
阅读 10 分钟
2.6k
文章持续更新,可以微信搜一搜「golang小白成长记」第一时间阅读,回复【教程】获golang免费视频教程。本文已经收录在GitHub [链接] , 有大厂面试完整考点和成长路线,欢迎Star。
封面图

硬核图解|tcp为什么会粘包?背后的原因让人暖心

2021-03-23
阅读 8 分钟
22.8k
事情从一个健身教练说起吧。李东,自称亚健康终结者,尝试使用互联网+的模式拓展自己的业务。在某款新开发的聊天软件琛琛上发布广告。键盘说来就来。疯狂发送"李东",回车发送!,"亚健康终结者",再回车发送!还记得四层网络协议长什么样子吗?四层网络模型每层各司其职,消息在进入每一层时都会多加一个报头,每多一个...
封面图

在B站看猫片被老板发现?不如按下F12学学HTTP

2021-02-25
阅读 15 分钟
6.2k
文章持续更新,可以微信搜一搜「golang小白成长记」第一时间阅读,回复【教程】获golang免费视频教程。本文已经收录在GitHub [链接] , 有大厂面试完整考点和成长路线,欢迎Star。
封面图

程序员划水指南

2021-01-20
阅读 7 分钟
4.3k
文章持续更新,可以微信搜一搜「 golang小白成长记 」第一时间阅读,回复【教程】获golang免费视频教程。本文已经收录在 GitHub [链接] 有大厂面试完整考点和成长路线,欢迎Star。

【吐血整理】超全golang面试题合集+学习指南+知识图谱 涵盖大部分golang程序员所需要掌握的核心知识

2021-01-11
阅读 23 分钟
31.8k
由于外链问题,完整版可【点击】阅读原文或到 github项目 中,欢迎关注。目录(善用Ctrl+F)基础入门新手Golang开发新手常犯的50个错误数据类型连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了。golang面试题:字符串转成byte数组,会发生内存拷贝吗?golang面试题:翻转含有中文、数字、英文字母的...

连json包变量不加tag会怎么样都不知道?年轻人耗子尾汁

2020-11-27
阅读 2 分钟
2.8k
问题json包里使用的时候,结构体里的变量不加tag能不能正常转成json里的字段?怎么答如果变量首字母小写,则为private。无论如何不能转,因为取不到反射信息。如果变量首字母大写,则为public。不加tag,可以正常转为json里的字段,json内字段名跟结构体内字段原名一致。加了tag,从struct转json的时候,json的字段名就...

http/net源码阅读,goroutine泄漏个数分析

2020-11-24
阅读 7 分钟
3.3k
不进行resp.Body.Close(),泄漏是一定的。但是泄漏的goroutine个数就让我迷糊了。由于执行了6遍,每次泄漏一个读和写goroutine,就是12个goroutine,加上main函数本身也是一个goroutine,所以答案是13.

连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了

2020-10-15
阅读 2 分钟
2.3k
连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了。问题 {代码...} nil切片和空切片指向的地址一样吗?这个代码会输出什么?怎么答nil切片和空切片指向的地址不一样。nil空切片引用数组指针地址为0(无指向任何实际地址)空切片的引用数组指针地址是有的,且固定为一个值 {代码...} 解释之前在前面...

不要等离职了,才知道for select时,如果通道已经关闭会怎么样?

2020-09-25
阅读 2 分钟
2.8k
golang面试官:for select时,如果通道已经关闭会怎么样?如果select中只有一个case呢?问题for循环select时,如果通道已经关闭会怎么样?如果select中的case只有一个,又会怎么样?怎么答for循环select时,如果其中一个case通道已经关闭,则每次都会执行到这个case。如果select里边只有一个case,而这个case被关闭了,...

连怎么避免内存逃逸都不知道?怎么进BAT?

2020-09-24
阅读 2 分钟
2.9k
在runtime/stubs.go:133有个函数叫noescape。noescape可以在逃逸分析中隐藏一个指针。让这个指针在逃逸分析中不会被检测为逃逸。

昨天那个在for循环里append元素的同事,今天还在么?

2020-09-23
阅读 2 分钟
3.4k
不会死循环,for range其实是golang的语法糖,在循环开始前会获取切片的长度 len(切片),然后再执行len(切片)次数的循环。

高频golang面试题:简单聊聊内存逃逸?

2020-09-22
阅读 2 分钟
4.1k
golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它 逃逸 了,必须在堆上分配。

golang高频面试题:字符串转成byte数组,会发生内存拷贝吗?

2020-09-21
阅读 1 分钟
3.2k
字符串转成切片,会产生拷贝。严格来说,只要是发生类型强转都会发生内存拷贝。那么问题来了。 频繁的内存拷贝操作听起来对性能不大友好。有没有什么办法可以在字符串转成切片的时候不用发生拷贝呢?