TinyGo é um compilador da linguagem Go destinado ao uso em áreas como microcontroladores, WASM e desenvolvimento de utilitários de linha de comando.
TinyGo usa utilitários e bibliotecas escritas no projeto Go, ao mesmo tempo que fornece um método alternativo para compilar programas baseado no trabalho do projeto LLVM.
Objetivos do projeto:
- Garanta o tamanho mínimo dos arquivos executáveis.
- Suporta o maior número de microcontroladores.
- Suporte WebAssembly.
- Bom suporte CGo.
- Suporte do código Go original sem alterações.
Exemplo de uso para comutação de LED em um microcontrolador:
pacote principal
importar (
"máquina"
"Tempo"
)
func main () {
led := máquina.LED
led.Configure(machine.PinConfig{Modo: machine.PinOutput})
para {
led.Baixo()
time.Sleep(time.Millisecond * 1000)
led.Alto()
time.Sleep(time.Millisecond * 1000)
}
}
A versão 0.6.0 contém muitas mudanças. As principais estão relacionadas ao suporte aprimorado para CGo, js.FuncOF (Go 1.12+), além de duas novas placas de desenvolvimento: Adafruit Feather M0 e Adafruit Trinket M0.
A lista completa de alterações está disponível em Página do projeto GitHub.
Fonte: linux.org.ru