紫ster
轻松获取golang语法树并修改代码。
特征
像在运行时一样将AST转换为reflect.Type类的类型(Kind-Flags)
收集并打包通用语法节点类型
提供易于使用的遍历语法节点功能
轻松获取和修改语法节点信息
格式化输出修改后的代码
更简单,更自然的元编程方式
...
转到版本
≥go1.11
一个例子
设置结构标签
package main
import (
"flag"
"fmt"
"github.com/henrylee2cn/aster/aster"
"github.com/henrylee2cn/goutil"
)
var (
filename = flag . String ( "filename" , "out/eg.structtag.go" , "file name" )
src = flag . String ( "src