더 좋은 방법이 있나요? 나는 v의 타입이 내장 된 "에러"타입인지 알아야한다.이동 AST/유형 - 오류를 나타내는 방법?
import (
"go/ast"
"go/types"
)
func IsError(v ast.Expr, info types.Info) bool {
t := info.Types[v]
return t.Type.String() == "error" &&
t.Type.Underlying().String() == "interface{Error() string}"
}
실행 가능한 링크를 추가하십시오. 예를 들면 다음과 같습니다 https://github.com/plutov/playgo – pltvs
다음은 실행 가능한 예입니다 : https://play.golang.org/p/MrhlFdBN3w –
이것으로 충분하다고 생각합니다 : 돌아 가기 정보 유형 [v] .Type.String() == "error" – pltvs