# 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") ```