YaegiGo 语言解释器
Yaegi 是一个优雅的 Go 语言解释器,可以执行 Go 脚本和插件。
特性
- 完整支持 Go 语言规范
 - 用 Go 编写,只使用标准库
 - 简单的解释器 API: 
New(),Eval(),Use() - 只要能运行 Go 的地方就可以运行 Yaegi
 - 所有 Go & 运行时资源都可以在脚本中访问
 - 安全: 默认不使用和输出 
unsafe和syscall包 - 支持 Go 1.11 和 Go 1.12
 
示例代码:
package main
import (
	"github.com/containous/yaegi/interp"
	"github.com/containous/yaegi/stdlib"
)
func main() {
	i := interp.New(interp.Options{})
	i.Use(stdlib.Symbols)
	_, err := i.Eval(`import "fmt"`)
	if err != nil {
		panic(err)
	}
	_, err = i.Eval(`fmt.Println("Hello Yaegi")`)
	if err != nil {
		panic(err)
	}
} 
评论
