调整 SP - Go 原理
上一节我们说完了 GPM 结构体,这一讲,我们来研究 Go sheduler 结构体,以及整个调度器的初始化过程。
3812 字
|
19 分钟
参考资料 - Golang · Go 原理
接口定义了一种规范,描述了类的行为和功能,而不做具体实现。
437 字
|
2 分钟
参考资料 - Go 原理 · iface 和 eface 的区别是什么
iface 和 eface 都是 Go 中描述接口的底层结构体,区别在于 iface 描述的接口包含方法,而 eface 则是不包含任何方法的空接口:interface{}。
760 字
|
4 分钟
方法 - Golang
方法能给用户自定义的类型添加新的行为。它和函数的区别在于方法有一个接收者,给一个函数添加一个接收者,那么它就变成了方法。接收者可以是值接收者,也可以是指针接收者。
1485 字
|
7 分钟
Cover Image of the Post
参考资料 - Go 原理 · 如何用 interface 实现多态
Go 语言并没有设计诸如虚函数、纯虚函数、继承、多重继承等概念,但它通过接口却非常优雅地支持了面向对象的特性。
478 字
|
2 分钟
参考资料 - Go 原理 · 接口的动态类型和动态值
从源码里可以看到:iface包含两个字段:tab 是接口表指针,指向类型信息;data 是数据指针,则指向具体的数据。它们分别被称为动态类型和动态值。而接口值包括动态类型和动态值。
469 字
|
2 分钟
Cover Image of the Post
参考资料 - Go 原理 · 接口的构造过程是怎样的
我们已经看过了 iface 和 eface 的源码,知道 iface 最重要的是 itab 和 type。
870 字
|
4 分钟
Cover Image of the Post