mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 20:52:22 +00:00
第七章 Go 和 AST
AST是抽象语法树的缩写(abstract syntax tree),一般可以用一个树型结构表示源代码的抽象语法结构。比如一个算术表达式可以用AST表示,if分支结构、for循环结构也可以用AST表示。因为树是一个任意分叉的,AST也可以非常容易if分支、for循环等嵌套的结构。了解AST不仅仅可以加深对语言本身的理解,基于AST也可以做很多有意义的事情(比如分析某类型的BUG、进行某种优化等)。更让人兴奋的是Go语言标准库已经内置了强大易用的AST库,让我们了解一下这种神秘的技术吧。