TinyGo është një përpilues i gjuhës Go i destinuar për përdorim në fusha të tilla si mikrokontrolluesit, WASM dhe zhvillimi i shërbimeve të linjës së komandës.
TinyGo përdor shërbimet dhe bibliotekat e shkruara në projektin Go, ndërsa ofron një metodë alternative për përpilimin e programeve bazuar në punën e projektit LLVM.
Objektivat e projektit:
- Siguroni madhësinë minimale të skedarëve të ekzekutueshëm.
- Mbështet numrin më të madh të mikrokontrolluesve.
- Mbështetje WebAssembly.
- Mbështetje e mirë CGo.
- Mbështetje e kodit origjinal Go pa ndryshime.
Shembull i përdorimit për ndezjen e LED në një mikrokontrollues:
paketa kryesore
import (
"makinë"
"koha"
)
func kryesore () {
led := makinë.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
per {
led.Low()
koha.Gjumi (koha.Milisekonda * 1000)
led. Lartë ()
koha.Gjumi (koha.Milisekonda * 1000)
}
}
Versioni 0.6.0 përmban shumë ndryshime. Ato kryesore lidhen me mbështetjen e përmirësuar për CGo, js.FuncOF (Go 1.12+), si dhe dy borde të reja zhvillimi: Adafruit Feather M0 dhe Adafruit Trinket M0.
Lista e plotë e ndryshimeve është në dispozicion në Faqja e projektit GitHub.
Burimi: linux.org.ru