Yaegi 介绍
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) } }