当前位置: 网站首页 >> 策略经营 > >> 正文

Go1.21速览:Go终于打算进一步支持WebAssembly了。。。-环球滚动

时间:2023-05-24 08:48:29


(资料图片)

最小 Demo 体验

Go 最新版本体验的话,可以安装 gotip(建议科学上网)。命令如下:

$goinstallgolang.org/dl/gotip@latest$gotipdownload

一个简单的 Go Wasm Demo:

packagemainfuncmain(){println("脑子进煎鱼了")}

将上述 Go 程序编译为 .wasm 文件。如下编译命令:

$GOARCH=wasmGOOS=wasip1gotipbuild-oapp.wasmmain.go

快速运行体验的话,可以使用 tetratelabs/wazero[2]开源项目,在 Go 里比较火,相对好上手。

安装命令(建议科学上网):

$curlhttps://wazero.io/install.sh|shtetratelabs/wazeroinfocheckingGitHubforlatesttagtetratelabs/wazeroinfofoundversion:1.0.3forv1.0.3/darwin/amd64tetratelabs/wazeroinfoinstalled./bin/wazero

安装完毕后,运行 ./bin/wazero run app.wasm。就会输出结果:脑子进煎鱼了。

一个快速入门 Go1.21 WASM WASI 的体验就完成啦!未来 Go 在 WASM 上的开发空间也逐步扩大了。

总结

WebAssembly 在 Go 语言中的适配,总体上是忧喜参半的。因为你可以看到 syscall/js 库其实已经提交了 5 年之久,很多人提出不少问题。Go 核心团队本身并没有太多的意愿维护和更新他。

值得开心的是,截止 2023 年。在 Go WASI 上还是有关注热度的。因此有像原提案作者会持续更新 WAS 的 P1P2 的支持。作为一门新技术,我们需要持续关注。但不太建议使用过深,我们需要关注 “可持续发展” 的长期考量。

无论如何,欢迎跑通和学习这一个 Demo!

关键词:

x 广告
x 广告

Copyright ©  2015-2022 游戏头条网版权所有  备案号:沪ICP备2022005074号-20   联系邮箱:58 55 97 3@qq.com