3B.5 Unit Test及AST可视化
func TestParser(t *testing.T) {
code := `
package main
import (
"fmt"
"net/http"
)
const (a, b)
var names []string = make([]int, 10)
func iterate[T any](list []T, f func(T)) {
for _, t := range list {
f(t)
}
}
`
ast, _ := Parse(NewFileBase("dump_source.go"), bytes.NewBuffer([]byte(code)), func(err error) {
fmt.Printf("Parsing Error: %v\n", err)
}, nil, CheckBranches|AllowGenerics) // 开启泛型支持,以便解析出类型参数
if ast != nil {
Fdump(os.Stdout, ast)
}
}最后更新于