我正在編寫一個自定義解析器,并希望跟蹤我遇到的錯誤。在執行 a 時如何在不使用全局變量的情況下跟蹤解析過程中的錯誤ast.Walk?type visitor struct { err error}func (v visitor) Visit(n ast.Node) ast.Visitor { switch d := n.(type) { case *ast.BinaryExpr: if d.Op != token.LAND { v.err = fmt.Errorf("Illegal operator :%s", d.Op) // NOT WORKING return v } } return v}我將上面的代碼用作:-var v visitorast.Walk(v, astTree)這可能不起作用,因為在 中func (v visitor),v 不是指向結構的指針。跟蹤這個的推薦方法是什么?
跟蹤 Go 中的 ast.Walk() 解析錯誤
幕布斯7119047
2023-04-10 10:42:26