Goscript:Rust 实现的 Go 语言规范

无独有偶,开发者采用相同的思路让 Go 也顺利在浏览器上运行。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

本文转自OSCHINA

本文标题:Goscript:Rust 实现的 Go 语言规范

本文地址:https://www.oschina.net/news/194738/goscript-wasm


本文标题:Goscript:Rust 实现的 Go 语言规范
分享链接:http://bzwzjz.com/article/dpiescj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 成都网站建设 四川成都网站建设 梓潼网站设计 网站建设公司 品牌网站建设 成都网站设计 企业网站建设 营销网站建设 成都定制网站建设 成都网站制作公司 成都网站设计 重庆电商网站建设 响应式网站设计 成都网站制作 成都品牌网站设计 企业网站建设公司 营销型网站建设 企业网站设计 成都网站建设 重庆网站制作 成都网站建设