> For the complete documentation index, see [llms.txt](https://gocompiler.shizhz.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha.md).

# 4. Golang 编译器 - 类型检查

- [4.1 简介](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.1-jian-jie.md)
- [4.2 代码结构](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/untitled-2.md)
- [4.3 符号解析](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.3-fu-hao-jie-xi.md)
- [4.4.1 数据结构 - 作用域](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.1-shu-ju-jie-gou-zuo-yong-yu.md)
- [4.4.2 数据结构 - Package](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.2-shu-ju-jie-gou-package.md)
- [4.4.3 数据结构 - Object 对象](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.3-shu-ju-jie-gou-object-dui-xiang.md)
- [4.4.4-1 类型数据结构 - 简介](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.41-lei-xing-shu-ju-jie-gou-jian-jie.md)
- [4.4.4-2 类型接口](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.42-lei-xing-shu-ju-jie-gou-jie-kou.md)
- [4.4.4-3 基础类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.43-lei-xing-shu-ju-jie-gou-ji-chu-lei-xing.md)
- [4.4.4-4 内置复合类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.44-nei-zhi-fu-he-lei-xing.md)
- [4.4.4-5 Struct 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.45-struct-lei-xing.md)
- [4.4.4-6 Interface 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.46-interface-lei-xing.md)
- [4.4.4-7 Named 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.47-named-lei-xing-fl.md)
- [4.4.4-8 Tuple 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.48-tuple-lei-xing.md)
- [4.4.4-9 Sum 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.49-sum-lei-xing.md)
- [4.4.4-10 Function & Method 类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.410-function-method-lei-xing.md)
- [4.4.4-11 泛型类型](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.411-fan-xing-lei-xing-fl.md)
- [4.4.4-12 类型的等价规则](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.412-lei-xing-de-deng-jia-gui-ze-fl.md)
- [4.4.4-13 类型的比较规则](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.413-lei-xing-de-bi-jiao-gui-ze.md)
- [4.4.4-14 总结](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.414-zong-jie.md)
- [4.4.5 类型检查器](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.5-lei-xing-jian-cha-qi.md): 与类型检查器相关的重要数据结构有三个，本节将分析其代码
- [4.4.6 总结](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.4.6-zong-jie.md)
- [4.5.1 类型检查逻辑 - 包加载器](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/lei-xing-jian-cha-luo-ji.md)
- [4.5.2 类型检查逻辑 - 初始化](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.2-lei-xing-jian-cha-luo-ji-chu-shi-hua.md)
- [4.5.2-1 全局作用域](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.21-quan-ju-zuo-yong-yu.md)
- [4.5.2-2 类型检查器](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.22-lei-xing-jian-cha-qi.md)
- [4.5.3 类型检查逻辑 - 流程分析](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.3-lei-xing-jian-cha-luo-ji-liu-cheng-fen-xi.md)
- [4.5.3-1.1 总体流程](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.1-zong-ti-liu-cheng.md)
- [4.5.3-1.2 类型检查准备工作](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.2-lei-xing-jian-cha-zhun-bei-gong-zuo.md)
- [4.5.3-1.3 类型检查核心逻辑](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3-lei-xing-jian-cha-he-xin-luo-ji.md)
- [4.5.3-1.3a 总体介绍](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3a-zong-ti-jie-shao.md)
- [4.5.3-1.3b 类型表达式的类型检查](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3b-lei-xing-biao-da-shi-de-lei-xing-jian-cha.md)
- [4.5.3-1.3c 求值表达式的类型检查](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3c-qiu-zhi-biao-da-shi-de-lei-xing-jian-cha.md)
- [4.5.3-1.3d 类型兼容性检查](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3d-lei-xing-jian-rong-xing-jian-cha.md)
- [4.5.3-1.3e 处理delayed队列](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3e-chu-li-delayed-dui-lie.md)
- [4.5.3-1.4 构建初始化顺序](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.4-gou-jian-chu-shi-hua-shun-xu.md)
- [4.5.3-1.5 总结](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.5-zong-jie.md)
- [4.5.3-2 特定问题分析](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32-te-ding-wen-ti-fen-xi.md)
- [4.5.3-2a 对象循环依赖检查](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32a-dui-xiang-xun-huan-yi-lai-jian-cha.md)
- [4.5.3-2b 方法与属性查找](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32b-fang-fa-yu-shu-xing-cha-zhao.md)
- [4.5.3-2c Underlying Type](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.5.3-2c-underlying-type.md)
- [4.6 如何测试](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.6-ru-he-ce-shi.md)
- [4.7 总结](https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha/4.7-zong-jie.md)
