TinyGo is een Go-taalcompiler bedoeld voor gebruik op gebieden zoals microcontrollers, WASM en de ontwikkeling van opdrachtregelhulpprogramma's.
TinyGo maakt gebruik van hulpprogramma's en bibliotheken die in het Go-project zijn geschreven, terwijl het een alternatieve methode biedt voor het compileren van programma's op basis van het werk van het LLVM-project.
Projectdoelen:
- Zorg voor de minimale grootte van uitvoerbare bestanden.
- Ondersteunt het grootste aantal microcontrollers.
- Ondersteuning voor WebAssembly.
- Goede CGo-ondersteuning.
- Ondersteuning van originele Go-code zonder wijzigingen.
Voorbeeldgebruik voor het schakelen van LED op een microcontroller:
pakket belangrijkste
importeren (
"machine"
"tijd"
)
fun hoofd() {
led := machine.LED
led.Configure(machine.PinConfig{Modus: machine.PinOutput})
voor {
geleid.Laag()
tijd.slaap(tijd.milliseconde * 1000)
geleid. Hoog()
tijd.slaap(tijd.milliseconde * 1000)
}
}
Versie 0.6.0 bevat veel wijzigingen. De belangrijkste hebben betrekking op verbeterde ondersteuning voor CGo, js.FuncOF (Go 1.12+), evenals twee nieuwe ontwikkelingsborden: Adafruit Feather M0 en Adafruit Trinket M0.
De volledige lijst met wijzigingen is beschikbaar op GitHub-projectpagina.
Bron: linux.org.ru