goast/README.md

43 lines
891 B
Markdown

# GOAST
> GoAst 是一个go文件解析器
提供能力:
- 获取所有的变量定义
- 获取所有的常量定义
- 获取所有的函数定义
- 获取所有的结构体定义
- 获取所有的方法定义
## 用例
```go
package main
import
gitter.top/coco/goast
func
func main() {
parser, err := NewParser("hello.go")
if err != nil {
// do something
}
defines, err := parser.Parse()
if err != nil {
// do something
}
// 是否存在变量Hello
defines.ExistVariable("Hello")
// 是否存在常量 World
defines.ExistConstant("World")
// 是否存在函数 Add
defines.ExistFunction("Add")
// 是否存在Calc结构体的方法 Sub
defines.ExistMethod("Calc.Sub")
// 是否存在导入包 "a/b/c"
defines.ExistImport("a/b/c")
// 是否存在结构体定义 Calc
defines.ExistType("Calc")
```