tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Tinygo-org/tinygo, also referred to as TinyGo, is a compiler for the Go programming language designed for use in resource-constrained environments like: * **Microcontrollers:** TinyGo allows you to write Go code for small devices with limited memory and processing power. * **WebAssembly (WASM/WASI):** TinyGo can generate code that runs in web browsers and other WASM-compatible environments. * **Command-line tools:** TinyGo can be used to create lightweight command-line applications. The key advantage of TinyGo is its ability to produce very compact code, making it suitable for situations where memory and processing power are at a premium. Here are some additional details about TinyGo: * **Based on LLVM:** TinyGo leverages the LLVM compiler infrastructure to achieve its size optimization goals. * **Limited Go features:** While aiming for small code size, TinyGo doesn't support all functionalities of standard Go. You can find a reference of supported features on the TinyGo website.