WebAssembly (Wasm) is a binary instruction format for a stack-based virtual machine that allows Go programs to run in browsers and other environments; Go supports it by compiling to Wasm using the GOOS=wasm and GOARCH=wasm environment variables. To compile a Go program for WebAssembly, set the target environment and run the build command:
GOOS=wasm GOARCH=wasm go build -o main.wasm main.go
You can export Go functions to be called from JavaScript using the //go:wasmexport directive and import JavaScript functions using //go:wasmimport.