TinyGo huwa kompilatur tal-lingwa Go maħsub għall-użu f'oqsma bħal mikrokontrolluri, WASM, u żvilupp tal-utilità tal-linja tal-kmand.
TinyGo juża utilitajiet u libreriji miktuba fil-proġett Go, filwaqt li jipprovdi metodu alternattiv għall-kompilazzjoni ta 'programmi bbażati fuq ix-xogħol tal-proġett LLVM.
Għanijiet tal-proġett:
- Żgura d-daqs minimu tal-fajls eżekutibbli.
- Jappoġġja l-akbar numru ta 'mikrokontrolluri.
- Appoġġ tal-WebAssembly.
- Appoġġ CGo tajjeb.
- Appoġġ tal-kodiċi Go oriġinali mingħajr bidliet.
Eżempju ta' użu biex jinxtegħlu l-LED fuq mikrokontrollur:
pakkett prinċipali
importa (
"magna"
"ħin"
)
func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
għal {
mmexxija.Baxx()
ħin.Rqad (ħin.Millisekonda * 1000)
wassal.Għoli()
ħin.Rqad (ħin.Millisekonda * 1000)
}
}
Verżjoni 0.6.0 fiha ħafna bidliet. Dawk ewlenin għandhom x'jaqsmu ma 'appoġġ imtejjeb għal CGo, js.FuncOF (Go 1.12+), kif ukoll żewġ bordijiet ta' żvilupp ġodda: Adafruit Feather M0 u Adafruit Trinket M0.
Il-lista sħiħa tal-bidliet hija disponibbli fuq Paġna tal-proġett GitHub.
Sors: linux.org.ru