文章首发于个人公众号「小白debug」原文链接:连接一个 IP 不存在的主机时,握手过程是怎样的?[https://mp.weixin.qq.c...
问题 这个代码会造成死循环吗? 怎么答 不会死循环,for range其实是golang的语法糖,在循环开始前会获取切片的长度 len(切片),...
问题 对未初始化的的chan进行读写,会怎么样?为什么? 怎么答 读写未初始化的chan都会阻塞。 举例 1.写未初始化的chan 注意这个ch...
问题 怎么避免内存逃逸? 怎么答 在runtime/stubs.go:133有个函数叫noescape。noescape可以在逃逸分析中隐藏一个...
问题 知道golang的内存逃逸吗?什么情况下会发生内存逃逸? 怎么答 golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在...
问题 能说说uintptr和unsafe.Pointer的区别吗? 怎么答 unsafe.Pointer只是单纯的通用指针类型,用于转换不同类型...
问题 拷贝大切片一定比小切片代价大吗? 怎么答 并不是,所有切片的大小相同;三个字段(一个 uintptr,两个int)。切片中的第一个字是指向...
问题 字符串转成byte数组,会发生内存拷贝吗? 怎么答 字符串转成切片,会产生拷贝。严格来说,只要是发生类型强转都会发生内存拷贝。那么问题来了...
问题 翻转含有中文、数字、英文字母的字符串 "你好abc啊哈哈" 代码实现 解释 rune关键字,从golang源码中看出,它是int32的别名...