4.1 语言核心
#
- 内置类型和函数 (Builtin)
理解基本类型和内置函数
1
2
3
4
5
6
| /usr/local/go/src/builtin/
├── builtin.go # 语言内置定义
- 基本类型系统:int, uint, float, complex, bool, string, byte, rune
- 内置函数:len, cap, append, make, new, delete, panic, recover
- 内置接口:error, comparable
- 内置常量:true, false, iota, nil
|
- 类型系统 (Type System)
理解反射机制和不安全操作
1
2
3
4
5
6
7
8
9
10
11
12
13
| /usr/local/go/src/
├── reflect/ # 反射系统 - 类型系统的核心
│ ├── type.go # 类型信息表示
│ ├── value.go # 值操作和类型转换
│ ├── makefunc.go # 动态函数创建
│ ├── swapper.go # 切片元素交换
│ ├── deepequal.go # 深度相等比较
│ └── 其他反射核心文件
├── unsafe/ # 不安全操作 - 底层类型操作
│ └── unsafe.go # 指针操作、类型转换
└── internal/ # 内部实现
├── reflectlite/ # 轻量级反射
└── 其他内部包
|
- 运行时系统 (Runtime)
理解运行时系统(内存管理、GC、调度器)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| /usr/local/go/src/runtime/
├── 内存管理 (Memory Management)
│ ├── malloc.go # 内存分配器入口
│ ├── mheap.go # 堆内存管理
│ ├── mcentral.go # 中心缓存管理
│ ├── mcache.go # 线程本地缓存
│ ├── mspan.go # 内存跨度管理
│ └── mstats.go # 内存统计
├── 垃圾回收 (Garbage Collection)
│ ├── gc.go # GC主控制器
│ ├── mgc.go # GC标记阶段
│ ├── mgcmark.go # GC标记工作
│ ├── mgcscavenge.go # GC清理阶段
│ └── mheap.go # GC堆管理
├── 协程调度 (Goroutine Scheduler)
│ ├── scheduler.go # 调度器主逻辑
│ ├── proc.go # 处理器管理
│ ├── stack.go # 栈管理
│ ├── stubs.go # 汇编存根
│ └── 其他调度文件
├── 内置类型运行时 (Built-in Type Runtime)
│ ├── string.go # 字符串运行时
│ ├── slice.go # 切片运行时
│ ├── map.go # 映射运行时
│ ├── chan.go # 通道运行时
│ ├── iface.go # 接口运行时
│ └── type.go # 类型系统运行时
├── 系统接口 (System Interface)
│ ├── os_linux.go # Linux系统接口
│ ├── os_windows.go # Windows系统接口
│ ├── os_darwin.go # macOS系统接口
│ └── 其他系统文件
└── 其他运行时组件
|
*[不支持的块类型: notionapi.ChildPageBlock]
*[不支持的块类型: notionapi.ChildPageBlock]