> 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/1.-golang-bian-yi-qi-qian-yan/1.2-golang-bian-yi-qi.md).

# 1.2 Golang 编译器

Golang 在[1.5](https://golang.org/doc/go1.5)时实现了自举，即 Go 语言的整个编译器（Compiler）及运行环境（Runtime）都是用 Go 语言写成的，包括其词法分析器、语法分析器都是完整的 Go 语言程序。这给想要深入学习 Go 语言的用户提供了非常友好的支持，对于 Go 语言的任何特性，从语法规则到类型系统，我们都可以深入到编译器中去寻找实现原理，甚至可以自己动手给语言增加新的功能，例如箭头函数、内置函数等，即使无法在生产环境使用，这种实践也是非常有趣的。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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/1.-golang-bian-yi-qi-qian-yan/1.2-golang-bian-yi-qi.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.
