TinyGo estas Go-lingva kompililo destinita por uzo en areoj kiel ekzemple mikroregiloj, WASM, kaj komandlinia utileco-disvolviĝo.
TinyGo uzas servaĵojn kaj bibliotekojn skribitajn en la Go-projekto, dum li disponigas alternativan metodon por kompili programojn bazitajn sur la laboro de la LLVM-projekto.
Projektceloj:
- Certigu la minimuman grandecon de ruleblaj dosieroj.
- Subtenas la plej grandan nombron da mikroregiloj.
- WebAssembly-subteno.
- Bona CGo-subteno.
- Subteno de originala Go-kodo sen ŝanĝoj.
Ekzempla uzokutimo por ŝaltado de LED sur mikroregilo:
pako ĉefa
importi (
"maŝino"
"tempo"
)
funkcio ĉefa () {
led := maŝino.LED
led.Agordu (maŝino.PinConfig{Reĝimo: maŝino.PinOutput})
por {
led.Malalta ()
tempo.Dormo (tempo.Milisekundoj * 1000)
gvidis.Alte ()
tempo.Dormo (tempo.Milisekundoj * 1000)
}
}
Versio 0.6.0 enhavas multajn ŝanĝojn. La ĉefaj rilatas al plibonigita subteno por CGo, js.FuncOF (Go 1.12+), same kiel du novaj evolutabuloj: Adafruit Feather M0 kaj Adafruit Trinket M0.
La plena listo de ŝanĝoj haveblas ĉe Paĝo de la projekto GitHub.
fonto: linux.org.ru