This adds an experimental package gojs which implements the host side of Wasm compiled by GOARCH=wasm GOOS=js go build -o X.wasm X.go This includes heavy disclaimers, in part inherited by Go's comments https://github.com/golang/go/blob/go1.19/src/syscall/js/js.go#L10-L11 Due to this many will still use TinyGo instead. That said, this is frequently asked for and has interesting features including reflection and HTTP client support. Signed-off-by: Adrian Cole <adrian@tetrate.io>
wazero examples
The following example projects can help you practice WebAssembly with wazero:
- allocation - how to pass strings in and out of WebAssembly functions defined in Rust or TinyGo.
- assemblyscript - how to configure special imports needed by AssemblyScript when not using WASI.
- basic - how to use both WebAssembly and Go-defined functions.
- import-go - how to define, import and call a Go-defined function from a WebAssembly-defined function.
- multiple-results - how to return more than one result from WebAssembly or Go-defined functions.
- namespace - how WebAssembly modules can import their own host module, such as "env".
- replace-import - how to override a module name hard-coded in a WebAssembly module.
- wasi - how to use I/O in your WebAssembly modules using WASI (WebAssembly System Interface).
Please open an issue if you would like to see another example.