首页    新闻    小组    威客    人才    下载    博客    代码贴    在线编程    论坛
Goscript:Rust 实现的 Go 语言规范
2022年5月8日 12:56 | 阅读 878 次

Anaconda 开发商最近发布了 https://goscript.dev 网站支持在浏览器端直接运行 Go 代码,这是一个 Go playground,底层采用 Goscript,通过 WASM 实现。

Goscript 是 Go 语言规范的非官方实现,用于 Rust 项目的内嵌或封装,提供了更简单的方式封装和调用底层的 Rust 代码。就像Lua之于Redis/WoW,或者Python之于NumPy。

Goscript 包含六个项目:

  • parser 把源代码变成AST,移植自Go官方代码。
  • type checker 基于AST做类型推倒和类型检查,也移植自Go官方代码。
  • codegen 基于AST和类型信息生成字节码。
  • vm 运行字节码。
  • std 官方库,移植自Go官方库。
  • engine 包含官方库的native部分,再加上简单封装。

Goscript 实现了 Go 的几乎所有特性(pre 1.18,因此不包括泛型),并移植了部分官方库,已通过的相关测试用例查看 https://github.com/oxfeeefeee/goscript/tree/master/engine/tests

Goscript 项目代码:https://github.com/oxfeeefeee/goscript

(文/开源中国)    




评论 (0)
游客请输入验证码
最新评论
2
0
收藏