{"version":1,"pages":[{"id":"-Mag0VK6eBmqXIqVMpUD","title":"0. Golang 编译器代码浅析","pathname":"/","siteSpaceId":"sitesp_xSCP8","description":""},{"id":"-MasJ3tjg-qC73OFX-G1","title":"1.1 编译器简介","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.1-bian-yi-qi-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasJBXd95t0p15eGVUR","title":"1.2 Golang 编译器","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.2-golang-bian-yi-qi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasJJc-NLwd8OaORJ6T","title":"1.3 Go 语言版本","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.3-go-yu-yan-ban-ben","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasJRAf083HRe9YR1MP","title":"1.4 项目设置","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.4-xiang-mu-she-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasJ_PhR81eLMr5lnAF","title":"1.5 约定","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.5-yue-ding","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasJfGGAAMTZqIDROys","title":"1.6 写作目的","pathname":"/1.-golang-bian-yi-qi-qian-yan/1.6-xie-zuo-mu-de","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"1. golang 编译器 - 前言"}]},{"id":"-MasHXlGx1qkbiX70SnJ","title":"2.1 简介","pathname":"/2.-golang-bian-yi-qi-ci-fa-fen-xi/2.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"2. golang 编译器 - 词法分析"}]},{"id":"-MasHfkMn_1dzIC4bonN","title":"2.2 代码结构","pathname":"/2.-golang-bian-yi-qi-ci-fa-fen-xi/2.2-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"2. golang 编译器 - 词法分析"}]},{"id":"-MasHo3gzJx3ZzUro7eL","title":"2.3 处理字符","pathname":"/2.-golang-bian-yi-qi-ci-fa-fen-xi/2.3-chu-li-zi-fu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"2. golang 编译器 - 词法分析"}]},{"id":"-MasHwye77uS1mZyvJvD","title":"2.4 扫描Token","pathname":"/2.-golang-bian-yi-qi-ci-fa-fen-xi/2.4-sao-miao-token","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"2. golang 编译器 - 词法分析"}]},{"id":"-MasIBk1hZkDKtSMRA9v","title":"2.5 总结","pathname":"/2.-golang-bian-yi-qi-ci-fa-fen-xi/2.5-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"2. golang 编译器 - 词法分析"}]},{"id":"-Mb0WxO-JKkPJnPDRCCR","title":"3A.1 语法分析简介","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.1-yu-fa-fen-xi-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0XTNn2AxCQ45mDC2z","title":"3A.2 文法","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.2-wen-fa","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0_HZYFri0aKieUwum","title":"3A.3 语法解析","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3-yu-fa-jie-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0_UMEjSVd-Gv3uXWQ","title":"3A.3.1 自顶向下（Top-Down）","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.1-zi-ding-xiang-xia-topdown","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0hRR47YQPMQd65zhO","title":"3A.3.2 自顶向下 - 递归下降","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.2-zi-ding-xiang-xia-di-gui-xia-jiang","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0jusmt5ApP5HhwX_R","title":"3A.3.3 自顶向下 - LL(1)文法","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.3-zi-ding-xiang-xia-ll1-wen-fa","siteSpaceId":"sitesp_xSCP8","description":"预测/匹配 解析器（Predicate/Match Parser）","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0mMd7xUTBqRNHguHN","title":"3A.3.4 自底向上（Bottom-Up）","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.4-zi-di-xiang-shang-bottomup","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0pQFU75a4L31AbrlF","title":"3A.3.5 自底向上 - LR(0)项集及SLR预测表","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.5-zi-di-xiang-shang-lr0-xiang-ji-ji-slr-yu-ce-biao","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0t9Xk73xyZ_saW3sv","title":"3A.3.6 自底向上 - LR(1)、LALR","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.3.6-zi-di-xiang-shang-lr1lalr","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0unRkMMo7zTVNPoCI","title":"3A.4 语法分析工具","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.4-yu-fa-fen-xi-gong-ju","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-Mb0w-cbBeq23CR8Rw9t","title":"3A.5 总结","pathname":"/3.b-yu-fa-fen-xi-li-lun-zhi-shi/3.5-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3.a 语法分析理论知识"}]},{"id":"-MaqePu6AxBDA4V3kLha","title":"3B.1 简介","pathname":"/3.-golang-bian-yi-qi-yu-fa-fen-xi/3.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3B. golang 编译器 - 语法分析"}]},{"id":"-MaqeeSxRugZEE-7G1_H","title":"3B.2 代码结构","pathname":"/3.-golang-bian-yi-qi-yu-fa-fen-xi/3.2-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3B. golang 编译器 - 语法分析"}]},{"id":"-Maqf9tTMD_rc7ShywpF","title":"3B.3 数据结构","pathname":"/3.-golang-bian-yi-qi-yu-fa-fen-xi/3.3-shu-ju-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3B. golang 编译器 - 语法分析"}]},{"id":"-MaqftNHs6OvrL1bRqRU","title":"3B.4 构造语法树","pathname":"/3.-golang-bian-yi-qi-yu-fa-fen-xi/3.4-gou-zao-yu-fa-shu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3B. golang 编译器 - 语法分析"}]},{"id":"-MaqgT8Ki_8oQTr7CT3z","title":"3B.5 Unit Test及AST可视化","pathname":"/3.-golang-bian-yi-qi-yu-fa-fen-xi/3.5-unit-test-ji-ast-ke-shi-hua","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"3B. golang 编译器 - 语法分析"}]},{"id":"-Mah4lW0H8lVh148le26","title":"4.1 简介","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mag4oboV9Ed2LPBz8vZ","title":"4.2 代码结构","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/untitled-2","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mah5hDywY3KWSZ0s0dJ","title":"4.3 符号解析","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.3-fu-hao-jie-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mah7kkerIcv6dYLl3Lh","title":"4.4.1 数据结构 - 作用域","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.1-shu-ju-jie-gou-zuo-yong-yu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahDKVKcCa-wURY88g6","title":"4.4.2 数据结构 - Package","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.2-shu-ju-jie-gou-package","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahEBWevZWqEUc2lBTv","title":"4.4.3 数据结构 - Object 对象","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.3-shu-ju-jie-gou-object-dui-xiang","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahFmKVWuDj8Kx2X5Qt","title":"4.4.4-1 类型数据结构 - 简介","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.41-lei-xing-shu-ju-jie-gou-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahHWRA_SXRtysgtZZs","title":"4.4.4-2 类型接口","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.42-lei-xing-shu-ju-jie-gou-jie-kou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahI2eKDUmiDMWMukN7","title":"4.4.4-3 基础类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.43-lei-xing-shu-ju-jie-gou-ji-chu-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakhzbiLPkx2_wEoF3u","title":"4.4.4-4 内置复合类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.44-nei-zhi-fu-he-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakjxfqGpqbFd8ysLYh","title":"4.4.4-5 Struct 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.45-struct-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakkXFaMGUdOkAWGm1D","title":"4.4.4-6 Interface 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.46-interface-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakkskbFcgjthUmz1nJ","title":"4.4.4-7 Named 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.47-named-lei-xing-fl","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakmIF1QtWfo2F_yclJ","title":"4.4.4-8 Tuple 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.48-tuple-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakmVbNJlvucP1EwoLo","title":"4.4.4-9 Sum 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.49-sum-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakmiI9eOaj5uV4hgza","title":"4.4.4-10 Function & Method 类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.410-function-method-lei-xing","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakmvRcYXmFb-3ouhjp","title":"4.4.4-11 泛型类型","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.411-fan-xing-lei-xing-fl","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Makp2MxrxX6lOgmh5jO","title":"4.4.4-12 类型的等价规则","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.412-lei-xing-de-deng-jia-gui-ze-fl","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakjjjVtD6JWmOIx3zG","title":"4.4.4-13 类型的比较规则","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.413-lei-xing-de-bi-jiao-gui-ze","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Makrg20_dtEMzHU8tjv","title":"4.4.4-14 总结","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.414-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahGcKKF0_AmHl8VUkB","title":"4.4.5 类型检查器","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.5-lei-xing-jian-cha-qi","siteSpaceId":"sitesp_xSCP8","description":"与类型检查器相关的重要数据结构有三个，本节将分析其代码","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakuSLGt2XvGvXTNnge","title":"4.4.6 总结","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.4.6-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MahAhkXjq8zVBj6m-ys","title":"4.5.1 类型检查逻辑 - 包加载器","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/lei-xing-jian-cha-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal-PPbRvj0uEg0sWkd","title":"4.5.2 类型检查逻辑 - 初始化","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.2-lei-xing-jian-cha-luo-ji-chu-shi-hua","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakwwpqNwUUj79DNT-m","title":"4.5.2-1 全局作用域","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.21-quan-ju-zuo-yong-yu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MakzTtMPCzGlTYEr6q1","title":"4.5.2-2 类型检查器","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.22-lei-xing-jian-cha-qi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal-Eg8ywuJ4WHThIIj","title":"4.5.3 类型检查逻辑 - 流程分析","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.3-lei-xing-jian-cha-luo-ji-liu-cheng-fen-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal3h49qD5OCjjnyTfT","title":"4.5.3-1.1 总体流程","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.1-zong-ti-liu-cheng","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal4DqrtCJrYxvFLRpl","title":"4.5.3-1.2 类型检查准备工作","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.2-lei-xing-jian-cha-zhun-bei-gong-zuo","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal6hen5nHdbcuX-sr9","title":"4.5.3-1.3 类型检查核心逻辑","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3-lei-xing-jian-cha-he-xin-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal7Mpjj45mMESBQXpu","title":"4.5.3-1.3a 总体介绍","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3a-zong-ti-jie-shao","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mal8cCmc61LSavsSPmH","title":"4.5.3-1.3b 类型表达式的类型检查","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3b-lei-xing-biao-da-shi-de-lei-xing-jian-cha","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalANPsEgSpIdd6eYHc","title":"4.5.3-1.3c 求值表达式的类型检查","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3c-qiu-zhi-biao-da-shi-de-lei-xing-jian-cha","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalBTGB0VBdJhZVFaa1","title":"4.5.3-1.3d 类型兼容性检查","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3d-lei-xing-jian-rong-xing-jian-cha","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalCPvDZpt6O2rxFGfj","title":"4.5.3-1.3e 处理delayed队列","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.3e-chu-li-delayed-dui-lie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Malgyjlv3DOws1uPgOW","title":"4.5.3-1.4 构建初始化顺序","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.4-gou-jian-chu-shi-hua-shun-xu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MaliJdQ4l0x2A8mOaFj","title":"4.5.3-1.5 总结","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.31.5-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalixXLFTvjOtpoGrtY","title":"4.5.3-2 特定问题分析","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32-te-ding-wen-ti-fen-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MallkmDEOAMpPz3XHgo","title":"4.5.3-2a 对象循环依赖检查","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32a-dui-xiang-xun-huan-yi-lai-jian-cha","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalnbEqBb1ujywITcDi","title":"4.5.3-2b 方法与属性查找","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.32b-fang-fa-yu-shu-xing-cha-zhao","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MaltzuHLG01Oj4OLk4X","title":"4.5.3-2c Underlying Type","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.5.3-2c-underlying-type","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-MalwnJyNCZUH_UP040v","title":"4.6 如何测试","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.6-ru-he-ce-shi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mam2dqfTBEdacq9lvQK","title":"4.7 总结","pathname":"/golang-bian-yi-qi-lei-xing-jian-cha/4.7-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"4. Golang 编译器 - 类型检查"}]},{"id":"-Mam5PBvzxouigjiW3DG","title":"5.1 简介","pathname":"/golang-bian-yi-qi-ir-tree/1.-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-Mam5ztqNWAn7-v9YRam","title":"5.2 代码结构","pathname":"/golang-bian-yi-qi-ir-tree/2.-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-Mam6J2B4B8H6fPFaqRI","title":"5.3 数据结构","pathname":"/golang-bian-yi-qi-ir-tree/3.-shu-ju-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-Mam5jiRGb8lCpStt46F","title":"5.4 处理逻辑","pathname":"/golang-bian-yi-qi-ir-tree/untitled-2","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-MamBvuWxzaZGJw-P_BI","title":"5.5 编译日志","pathname":"/golang-bian-yi-qi-ir-tree/5.5-bian-yi-ri-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-MamCjhYXFhP8bLj0HsL","title":"5.6 Unit Test","pathname":"/golang-bian-yi-qi-ir-tree/5.6-unit-test","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-MamDMLMKTMNYlC9T7iL","title":"5.7 总结","pathname":"/golang-bian-yi-qi-ir-tree/5.7-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"5. Golang 编译器 - IR Tree"}]},{"id":"-MamF3SU7O5NkjZ1dva_","title":"6.1 简介","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamFIvZ6XKAuWXacZPk","title":"6.2 代码结构","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.2-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamFptBi58PxHnQdsO8","title":"6.3 总体逻辑","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.3-zong-ti-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamGapmGRZMaaWpnWVv","title":"6.4 赋值语句","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.4-fu-zhi-yu-ju","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamHWhNir9ho1YyECJ_","title":"6.5 编译日志","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.5-bian-yi-ri-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamJLfsdq60QN1nFWEO","title":"6.6 Unit Test","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.6-unit-test","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MamJYyif1I505zwSKZQ","title":"6.7 总结","pathname":"/6.-golang-bian-yi-qi-chu-shi-hua-ren-wu/6.7-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"6. golang 编译器 - 初始化任务"}]},{"id":"-MapfpodnsE0NNLXFw1J","title":"7.1 简介","pathname":"/7.-golang-bian-yi-qi-qing-chu-wu-xiao-dai-ma/7.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"7. golang 编译器 - 清除无效代码"}]},{"id":"-MapfgHpPI0Ta3O9Na-B","title":"7.2 处理逻辑","pathname":"/7.-golang-bian-yi-qi-qing-chu-wu-xiao-dai-ma/7.2-chu-li-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"7. golang 编译器 - 清除无效代码"}]},{"id":"-MapgRpeUswqW8APtqef","title":"7.3 Unit Test","pathname":"/7.-golang-bian-yi-qi-qing-chu-wu-xiao-dai-ma/7.3-unit-test","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"7. golang 编译器 - 清除无效代码"}]},{"id":"-Maphb_vzAtSl8MTPU9F","title":"8.1 简介","pathname":"/8.-golang-bian-yi-qi-inline/8.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-Mapi3uM6FaHHGjDmhHK","title":"8.2 Inline的问题","pathname":"/8.-golang-bian-yi-qi-inline/8.2-inline-de-wen-ti","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-MapiFgN0L3sn9nwy6SO","title":"8.3 代码结构","pathname":"/8.-golang-bian-yi-qi-inline/8.3-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-MapiUN6dN8um9Ff-tF8","title":"8.4 处理逻辑","pathname":"/8.-golang-bian-yi-qi-inline/8.4-chu-li-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-MapufINlJn1V97VydRA","title":"8.4.1 遍历调用链","pathname":"/8.-golang-bian-yi-qi-inline/8.4.1-bian-li-tiao-yong-lian","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-MapvFRx1T9jTUHd9YzH","title":"8.4.2 内联判断","pathname":"/8.-golang-bian-yi-qi-inline/8.4.2-nei-lian-pan-duan","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-Mapvb-KD1ZGAL1jdki9","title":"8.4.3 内联操作","pathname":"/8.-golang-bian-yi-qi-inline/8.4.3-nei-lian-cao-zuo","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-MapzSt3FXBVmk4AIjU3","title":"8.4.4 编译日志","pathname":"/8.-golang-bian-yi-qi-inline/8.4.4-bian-yi-ri-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-Maq-3j3Ukdk80onhCXZ","title":"8.4.5 Unit Test","pathname":"/8.-golang-bian-yi-qi-inline/8.4.5-unit-test","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-Maq-fDAum8toNItqpQq","title":"8.4.6 总结","pathname":"/8.-golang-bian-yi-qi-inline/8.4.6-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"8. golang 编译器 - Inline"}]},{"id":"-Maq17B5L4bfMeeuixJ3","title":"9.1 什么是逃逸分析","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.1-shen-me-shi-tao-yi-fen-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq1KdeixSAasRhjkyV","title":"9.2 Go 的逃逸分析","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.2-go-de-tao-yi-fen-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq1g9tJ2ESx0ZFppzX","title":"9.3 算法思路","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.3-suan-fa-si-lu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq2m47r7DglQDA1VL0","title":"9.4 代码结构","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.4-dai-ma-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq2vDhOK-zG2lKllY2","title":"9.5 处理逻辑","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.5-chu-li-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq3U0gja-NEaPm7Dny","title":"9.5.1总体逻辑","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.5.1-zong-ti-luo-ji","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq3mW3RpKNdCsYCCuq","title":"9.5.2 数据结构","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.5.2-shu-ju-jie-gou","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq48dTk7NLN-Ezs5QC","title":"9.5.3 构建数据流有向图","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.5.3-gou-jian-shu-ju-liu-you-xiang-tu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq526fT7uaWKJ2M-cp","title":"9.5.4 逃逸分析","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.5.4-tao-yi-fen-xi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq4fNB9Fws9pCZrNvy","title":"9.6 编译日志","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.6-bian-yi-ri-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq4jDv_wVuEElxGn8d","title":"9.7 Unit Test","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.7-unit-test","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-Maq4mdjsCPDO3aBjeZV","title":"9.8 总结","pathname":"/9.-golang-bian-yi-qi-tao-yi-fen-xi/9.8-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"9. golang 编译器 - 逃逸分析"}]},{"id":"-MaqDeUk160q7whIteF7","title":"10.1 简介","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.1-jian-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqEdSYFqkHoSXTO-L7","title":"10.2 编译函数","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.2-bian-yi-han-shu","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqEp5Txhkot2z6RKXA","title":"10.2.1 SSA","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.2.1-ssa","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqGhda2k7pPynfDYUh","title":"10.2.2 ABI","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.2.2-abi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqGn_-CfrFh8NWCK1l","title":"10.2.3 并发控制","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.2.3-bing-fa-kong-zhi","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqH6nLBW9RXCHRwu8H","title":"10.3 导出对象文件","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.3-dao-chu-dui-xiang-wen-jian","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqHjvOZaVNLv4PEL-c","title":"10.4 总结","pathname":"/10.-golang-bian-yi-qi-han-shu-bian-yi-ji-dao-chu/10.4-zong-jie","siteSpaceId":"sitesp_xSCP8","description":"","breadcrumbs":[{"label":"10. golang 编译器 - 函数编译及导出"}]},{"id":"-MaqeEmONYbwmjJOguJu","title":"11. Golang 编译器 - 写在最后","pathname":"/11.-golang-bian-yi-qi-xie-zai-zui-hou","siteSpaceId":"sitesp_xSCP8","description":""}]}