原文:深度解密Go语言之Slice

Go 语言的 slice 很好用,不过也有一些坑。slice 是 Go 语言一个很重要的数据结构。网上已经有很多文章写过了,似乎没必要再写。但是每个人看问题的视角不同,写出来的东西自然也不一样。我这篇会从更底层的汇编语言去解读它。而且在我写这篇文章的过程中,发现绝大部分文章都存在一些问题,文章里会讲到,这里先不展开。 我希望本文可以终结这个话题,下次再有人想和你讨论 slice,直接把这篇文章的链 ...

2019-04-01 22:23 2 4436 推荐指数:

查看详情

深度解密Go语言之map

目录 什么是 map 为什么要用 map map 的底层如何实现 map 内存模型 创建 map 哈希函数 key 定位过程 ...

Wed May 22 17:02:00 CST 2019 2 8053
深度解密Go语言之context

目录 什么是 context 为什么有 context context 底层实现原理 整体概览 接口 Context ...

Wed Jun 12 16:46:00 CST 2019 2 4786
深度解密Go语言之反射

目录 什么是反射 为什么要用反射 反射是如何实现的 types 和 interface 反射的基本函数 反射的三大定律 反射 ...

Tue May 07 06:36:00 CST 2019 1 3290
深度解密Go语言之 pprof

[toc] 相信很多人都听过“雷神 3”关于性能优化的故事。在一个 3D 游戏引擎的源码里,John Carmack 将 1/sqrt(x) 这个函数的执行效率优化到了极致。 一般我们使用二分法, ...

Mon Nov 11 16:16:00 CST 2019 3 2577
深度解密Go语言之 scheduler

目录 前置知识 os scheduler 线程切换 函数调用过程分析 goroutine 是怎么工作的 什么是 go ...

Tue Sep 03 03:16:00 CST 2019 6 2776
深度解密Go语言之unsafe

目录 指针类型 什么是 unsafe 为什么有 unsafe unsafe 实现原理 unsafe 如何使用 获取 slice 长度 获取 map 长度 map 源码中的应用 Offsetof 获取成员偏移量 ...

Mon Jun 03 17:07:00 CST 2019 0 2805
深度解密Go语言之channel

目录 并发模型 并发与并行 什么是 CSP 什么是 channel channel 实现 CSP 为什么要 ch ...

Mon Jul 22 06:06:00 CST 2019 0 2411
深度解密Go语言之关于 interface 的10个问题

目录 1. Go 语言与鸭子类型的关系 2. 值接收者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 eface 的区别是什么 4. 接口的动态类型和动态值 5. 编译器 ...

Thu Apr 25 14:23:00 CST 2019 4 5786
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM