Go猜想录
大道至简,悟者天成
ast 包使用指南

什么是 AST?

AST,即抽象语法树。它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

并发、反射和 AST 三者是构建复杂系统(中间件)的基石,真正的高级工具。

while b != 0:
		if a > b:
				a := a - b
		else:
				b := b - a
return a

ast-0.png

开源例子

学习 AST 的目的:

  • 篡改源码
  • 代码生成:Go 因为本身没有动态代理之类的工具,所以代码生成大行其道,非常流行

例子:


知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。