TinyGo és un compilador de llenguatge Go destinat a ser utilitzat en àrees com ara microcontroladors, WASM i desenvolupament d'utilitats de línia d'ordres.
TinyGo utilitza utilitats i biblioteques escrites al projecte Go, alhora que proporciona un mètode alternatiu per compilar programes basats en el treball del projecte LLVM.
Objectius del projecte:
- Assegureu-vos la mida mínima dels fitxers executables.
- Admet el major nombre de microcontroladors.
- Suport WebAssembly.
- Bon suport CGo.
- Suport del codi Go original sense canvis.
Exemple d'ús per encendre el LED en un microcontrolador:
paquet principal
importar (
"màquina"
"temps"
)
funció principal() {
led := màquina.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
per a {
led.Baix()
time.Sleep (temps.Milisegon * 1000)
led.Alt()
time.Sleep (temps.Milisegon * 1000)
}
}
La versió 0.6.0 conté molts canvis. Les principals es refereixen a la millora del suport per a CGo, js.FuncOF (Go 1.12+), així com dues noves plaques de desenvolupament: Adafruit Feather M0 i Adafruit Trinket M0.
La llista completa de canvis està disponible a Pàgina del projecte GitHub.
Font: linux.org.ru