有没有办法从AST中删除特定类型的节点? (例如,我想删除所有Expr语句)或者可能有一种方法用空的ast.Expr节点替换它?
我没有找到任何关于它的文档,所以任何帮助将不胜感激。提前谢谢!
UPD:
func find_node(file *ast.File) {
ast.Inspect(file, func(node ast.Node) bool {
switch x := node.(type) {
case *ast.ExprStmt:
var e ast.Expr
e = x.X
fmt.Printf("Expression found: %s\n", e)
}
return true
})
}