在golang中interface底层分析文中分析了接口的底层原理。其中接口的内部结构分两种一种是iface接口,就是有方法的接口,另一种是ef...
上篇文章golang中defer的执行过程是怎样的?介绍了一下defer的执行过程,本篇是上一篇的引申,主要介绍panic、recover的底层...
在同一个goroutine中: 多个defer的调用栈原理是什么?defer函数是如何调用的? 为了探究其中的奥秘我准备了如下代码: 输出:bb...
golang中的接口分为带方法的接口和空接口。带方法的接口在底层用iface表示,空接口的底层则是eface表示。下面我们透过底层分别看一下这两...
有时看golang底层源码,发现有些是汇编直接写的,以前也没有学过所以有必要学一下golang的汇编。 由于golang汇编糅合了AT&T风格语...
一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,但是通常是用来包含人类可读的文本。 len()返回字符串字节数目(不是rune数)...
结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体,每个值称为结构体的成员。下面分两方面介绍:一个是基础部分,一个是看一下结构体...
在golang中map是经常用到的数据结构。在这篇中我会从基础、算法、源码角度去分析map中的设计思想。 1 基础部分 1.1 声明 此时 m ...
上文讲解了数组这篇文章主要讲解Slice(切片)。Slice代表变长的序列,其里面的每个元素都有相同的类型。Slice字面量为[]T其中T表示s...