TinyGo është një kompilator për gjuhën Go, i destinuar për t'u përdorur në fushat si mikro-kontrolluesit, WASM, dhe zhvillimin e utiliteteve të linjës së komandës.
TinyGo përdor utilitete dhe biblioteka të shkruara në projektin Go, duke ofruar një metodë alternative të kompilimit të programeve mbi bazat e projektit LLVM.
Detyrat e projektit:
- Të sigurojë madhësinë minimale të skedarëve ekzekutivë.
- Të mbështesë sa më shumë mikro-kontrollues.
- Të mbështesë WebAssembly.
- Mbështetje e mirë për CGo.
- Të mbështesë kodin origjinal në Go pa ndryshime.
Shembuj përdorimi për të ndezur LED-in në mikro-kontrollues:
package main
import (
"machine"
"time"
)
func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Low()
time.Sleep(time.Millisecond * 1000)
led.High()
time.Sleep(time.Millisecond * 1000)
}
}
Versioni 0.6.0 përmban shumë ndryshime. Kryesoret i përkasin përmirësimit të mbështetjes për CGo, js.FuncOF (Go 1.12+), si dhe dy bordesh të reja zhvillimi: Adafruit Feather M0 dhe Adafruit Trinket M0.
Lista e plotë e ndryshimeve është e disponueshme në faqen GitHub të projektit.
Burimi: linux.org.ru
