我正在編寫(xiě)一個(gè)自定義解析器,并希望跟蹤我遇到的錯(cuò)誤。在執(zhí)行 a 時(shí)如何在不使用全局變量的情況下跟蹤解析過(guò)程中的錯(cuò)誤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)這可能不起作用,因?yàn)樵?中func (v visitor),v 不是指向結(jié)構(gòu)的指針。跟蹤這個(gè)的推薦方法是什么?
跟蹤 Go 中的 ast.Walk() 解析錯(cuò)誤
幕布斯7119047
2023-04-10 10:42:26