TinyGo hè un compilatore di lingua Go destinatu à l'usu in spazii cum'è microcontrollers, WASM, è sviluppu di utilità di linea di cummanda.
TinyGo usa utilità è biblioteche scritte in u prughjettu Go, mentre furnisce un metudu alternativu per cumpilà prugrammi basati nantu à u travagliu di u prughjettu LLVM.
Obiettivi di u prugettu:
- Assicurà a dimensione minima di i fugliali eseguibili.
- Supporta u più grande numaru di microcontrollers.
- Supportu WebAssembly.
- Bon supportu CGo.
- Supportu di u codice Go originale senza cambiamenti.
Esempiu d'usu per cambià LED in un microcontroller:
pacchettu principale
impurtà (
"macchina"
"tempu"
)
funzione principale () {
led := machine.LED
led.Configure (machine.PinConfig{Mode: machine.PinOutput})
per {
led.Low()
time.Sleep (tempu.Millisecond * 1000)
led.Altu()
time.Sleep (tempu.Millisecond * 1000)
}
}
A versione 0.6.0 cuntene assai cambiamenti. I principali riguardanu un supportu perfeccionatu per CGo, js.FuncOF (Go 1.12+), è ancu dui novi schede di sviluppu: Adafruit Feather M0 è Adafruit Trinket M0.
A lista completa di i cambiamenti hè dispunibule à Pagina di prughjettu GitHub.
Source: linux.org.ru