// 遍历文件 for _, file := range pkg.Files { // 遍历文件的声明 for _, decl := range file.Decls { // 检查声明是否是变量声明 if genDecl, ok := decl.(*ast.GenDecl); ok && genDecl.Tok == token.VAR { // 遍历变量声明的规范 for _, spec := range genDecl.Specs { if valueSpec, ok := spec.(*ast.ValueSpec); ok { codeElt := valueSpec.Values[0] if y, ok := codeElt.(*ast.CompositeLit); ok { if j, ok := y.Elts[0].(*ast.KeyValueExpr); ok { if l, ok := j.Value.(*ast.BasicLit); ok { // 此处能获取到错误码对应的Code fmt.Printf("code:%s\n", l.Value) } } } } } } } } }