Go 语言解释器 Yaegi
2024-08-27 06:51:39
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)
}
}
最新文章
- maven webapp栽坑录
- Silicon Labs电视调谐器 si2151
- Asp.Net_<;%%>;模式常用语法
- 基于HTML5技术的电力3D监控应用(四)
- Hadoop集群中Hbase的介绍、安装、使用
- poj 2186 强连通分支 和 spfa
- 字体图标 icon font
- PHP微信红包的算法实现探讨
- 数据库MySQL多个数据库服务冲突
- MVC应用程序使用Web Services(asmx)
- 配置NFS服务与tftp服务
- Windows 安装 Vue
- 【极简版】SpringBoot+SpringData JPA 管理系统
- python学习第20天
- 4-2 requests库使用
- [UE4]Throbber,横向动态图标
- .Net MVC Cache 缓存技术总结
- ActiveMQ producer 提交事务时突然宕机,会发生什么
- AES 加解密 Java实现
- Codeforces Round #258 (Div. 2) A. Game With Sticks 水题