go语言获取ast.

package main

import (
	"go/ast"
	"go/parser"
	"go/token"
	"log"
)

func main() {
	src := []byte(`package main
import "fmt"
func main() {
  fmt.Println("Hello, world!")
}
`)

	fset := token.NewFileSet()

	file, err := parser.ParseFile(fset, "", src, 0)
	if err != nil {
		log.Fatal(err)
	}

	ast.Print(fset, file)
}

命令为go build b.go,然后就行了,
go语言缺点:我认为:编译后文件太大,过于简化,模板功能不强.
活跃变量分析在此在此.

发布了346 篇原创文章 · 获赞 25 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/fqbqrr/article/details/104073048