新聞中心
無獨有偶,開發(fā)者采用相同的思路讓 Go 也順利在瀏覽器上運行。https://goscript.dev 網(wǎng)站支持在瀏覽器端直接運行 Go 代碼,這是一個 Go playground,底層采用 Goscript,通過 WASM 實現(xiàn)。

Goscript 是 Go 語言規(guī)范的非官方實現(xiàn),用于 Rust 項目的內(nèi)嵌或封裝,提供了更簡單的方式封裝和調(diào)用底層的 Rust 代碼。就像 Lua 之于 Redis/WoW,或者 Python 之于 NumPy。
Goscript 包含六個項目:
- parser 把源代碼變成 AST,移植自 Go 官方代碼。
- type checker 基于 AST 做類型推倒和類型檢查,也移植自 Go 官方代碼。
- codegen 基于 AST 和類型信息生成字節(jié)碼。
- vm 運行字節(jié)碼。
- std 官方庫,移植自 Go 官方庫。
- engine 包含官方庫的 native 部分,再加上簡單封裝。
Goscript 實現(xiàn)了 Go 的幾乎所有特性(pre 1.18,因此不包括泛型),并移植了部分官方庫,已通過的相關(guān)測試用例查看 https://github.com/oxfeeefeee/goscript/tree/master/engine/tests。
Goscript 項目代碼:https://github.com/oxfeeefeee/goscript
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Goscript:Rust 實現(xiàn)的 Go 語言規(guī)范
本文地址:https://www.oschina.net/news/194738/goscript-wasm
網(wǎng)頁標(biāo)題:Goscript:Rust 實現(xiàn)的 Go 語言規(guī)范
分享地址:http://www.dlmjj.cn/article/dpiescj.html


咨詢
建站咨詢
