TinyGo é un compilador de linguaxe Go pensado para o seu uso en áreas como microcontroladores, WASM e desenvolvemento de utilidades de liña de comandos.
TinyGo usa utilidades e bibliotecas escritas no proxecto Go, ao tempo que proporciona un método alternativo para compilar programas baseados no traballo do proxecto LLVM.
Obxectivos do proxecto:
- Garantir o tamaño mínimo dos ficheiros executables.
- Admite o maior número de microcontroladores.
- Soporte de WebAssembly.
- Bo apoio CGo.
- Soporte do código Go orixinal sen cambios.
Exemplo de uso para cambiar o LED nun microcontrolador:
paquete principal
importar (
"máquina"
"tempo"
)
función principal() {
led := máquina.LED
led.Configure(machine.PinConfig{Modo: machine.PinOutput})
para {
led.Baixo()
time.Sleep (tempo.Milisegundos * 1000)
led.Alto()
time.Sleep (tempo.Milisegundos * 1000)
}
}
A versión 0.6.0 contén moitos cambios. Os principais están relacionados coa mellora do soporte para CGo, js.FuncOF (Go 1.12+), así como con dúas novas placas de desenvolvemento: Adafruit Feather M0 e Adafruit Trinket M0.
A lista completa de cambios está dispoñible en Páxina do proxecto GitHub.
Fonte: linux.org.ru