# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gocompiler.shizhz.me/golang-bian-yi-qi-lei-xing-jian-cha.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
