WebAssembly 在 2018 年第一季度算得上是真正取得了成功,這是自 Web 誕生以來(lái)首個(gè) JavaScript 原生替代方案。現(xiàn)在,Go 語(yǔ)言也宣布加入 wasm!在 Wasm 平臺(tái)上添加對(duì) Golang 的支持將被添加到 golang 代碼庫(kù)的一系列提交中。該系列的第一部分已于 2018 年 3 月 31 日發(fā)布,旨在將 WebAssembly 作為架構(gòu)目標(biāo)添加到 Go 語(yǔ)言中。
軟件包分為多個(gè)部分,該平臺(tái)的 GOARCH 名字是 wasm,并且增加了 GOOS 賦值的 js,這表示編譯后的二進(jìn)制文件將在瀏覽器 JavaScript 環(huán)境中和 Node.js 服務(wù)器端環(huán)境中運(yùn)行。
編譯為 wasm 的 Golang 應(yīng)用程序?qū)⑴c JavaScript 應(yīng)用程序具有互操作性。這意味著 WebAssembly 憧憬的 wasm 架構(gòu)將在很大程度上從 JavaScript 內(nèi)部訪問和嵌入。
此外,在 Wasm 體系結(jié)構(gòu)上運(yùn)行 Golang 的基礎(chǔ)包含許多技術(shù)規(guī)范。其中有:內(nèi)存管理,32/64 位架構(gòu)功能,線程,垃圾回收以及與 JavaScript 互操作的細(xì)節(jié)。