您當前的位置:首頁 > 書法

繼Python之後,Go也順利在瀏覽器上執行

作者:由 程式設計師小林 發表于 書法時間:2022-05-21

Anaconda 開發商最近釋出了 PyScript,這是一個可以讓開發者在 HTML 中混寫 Python 程式碼的框架,有人將其稱為 “Python 版 JSP”。事實上,PyScript 底層採用了 WebAssembly, 因為它基於 Pyodide 構建,Pyodide 由編譯成 WebAssembly 的 CPython 3。8 直譯器組成,允許在網頁瀏覽器中執行 Python。

繼Python之後,Go也順利在瀏覽器上執行

無獨有偶,開發者採用相同的思路讓 Go 也順利在瀏覽器上執行。

https://

goscript。dev

網站支援在瀏覽器端直接執行 Go 程式碼,這是一個 Go playground,底層採用 Goscript,透過 WASM 實現。

繼Python之後,Go也順利在瀏覽器上執行

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/g

oscript/tree/master/engine/tests

Goscript 專案程式碼:

https://

github。com/oxfeeefeee/g

oscript

出品 | OSC開源社群(侵刪)

往期回顧:

一張思維導圖,囊括所有Python基礎,趕快Mark!

無碼爬蟲,真香

深入淺出Redis,這是我見過最詳細易懂的Redis筆記(PDF可下載)

《華為工程師Linux核心筆記》高畫質版。pdf

超全面!800頁MySQL學習筆記,新手看這一篇就夠了

火遍全網!96頁Python自動化辦公筆記!(附網盤連結和提取碼)

585頁Python程式設計快速上手,重實操的經典之作!(附網盤連結和提取碼)

標簽: go  Python  Goscript  程式碼  官方