YaegiGo 语言解释器

联合创作 · 2023-09-27 23:10

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)
}
}

 

浏览 51
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报