TinyGo WASM Log Message - Tinygo-wasm Typing CST Test
Loading…
TinyGo WASM Log Message — Tinygo-wasm Code
Logs a message to the console from WASM.
# tinygo/demo/log.go
package main
import (
"syscall/js"
"fmt"
)
func logMessage(this js.Value, args []js.Value) interface{} {
fmt.Println("Hello from TinyGo WASM!")
return nil
}
func main() {
js.Global().Set("logMessage", js.FuncOf(logMessage))
select{}
}Tinygo-wasm Language Guide
TinyGo WebAssembly (tinygo-wasm) is a lightweight Go compiler designed to build extremely small and fast WebAssembly binaries, enabling Go developers to run applications in browsers, edge devices, IoT systems, and embedded environments with minimal resource usage.
Primary Use Cases
- ▸Running Go code in the browser via WebAssembly
- ▸IoT and microcontroller applications
- ▸Edge computing Wasm modules
- ▸WASI applications in runtimes like wasmtime or wasmer
- ▸Plugins for serverless Wasm platforms (Spin, Fermyon, WasmCloud, etc.)
Notable Features
- ▸Very small Wasm binary sizes (10-20× smaller than standard Go)
- ▸Optimized LLVM-based compiler backend
- ▸Supports Go core features (structs, interfaces, goroutines via async tasks)
- ▸Targets browsers, WASI, and embedded hardware
- ▸Fast compile times and low resource usage
Origin & Creator
TinyGo was created by Ayke van Laethem and the TinyGo community starting in 2018 to make Go viable for microcontrollers, embedded systems, and WebAssembly.
Industrial Note
tinygo-wasm is heavily adopted in constrained environments: IoT, robotics, WebAssembly edge clouds, plugins in serverless Wasm runtimes, and performance-critical Go applications.