Kompilaasje foar ferskate doelplatfoarms wurdt ymplementearre mei LLVM, en biblioteken brûkt yn 'e haadtoolkit fan it Go-projekt wurde brûkt om de taal te stypjen. It kompilearre programma kin direkt wurde útfierd op mikrocontrollers, wêrtroch Go kin wurde brûkt as taal foar it skriuwen fan automatisearringsskripts.
De motivaasje foar it meitsjen fan in nij projekt wie de winsk om de fertroude Go-taal te brûken op kompakte apparaten - de ûntwikkelders redenearren dat as d'r in Python-ferzje wie foar mikrocontrollers, wêrom dan net in ferlykber meitsje foar de Go-taal. Gean
Yn syn hjoeddeistige foarm wurde 15 mikrocontrollermodellen stipe, ynklusyf ferskate boards fan Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary en Phytec. Programma's kinne ek kompilearre wurde om te rinnen yn in browser yn WebAssembly-formaat en as útfierbere bestannen foar Linux. Unterstützt ESP8266/ESP32 controllers
Wichtige projektdoelen:
Stipe foar multi-core systemen is net ûnder de haaddoelen,
effisjinte lansearring fan in enoarm oantal coroutines (de lansearring fan coroutines sels wurdt folslein stipe), it berikken fan it prestaasjesnivo fan 'e referinsjekompiler gc (optimisaasje wurdt oerlitten oan LLVM en yn guon applikaasjes kin Tinygo rapper wêze dan gc) en folslein
It wichtichste ferskil fan in ferlykbere kompilator
Under de wizigingen yn release 0.7 binne de ymplemintaasje fan it kommando "tinygo test", it oanbieden fan garbage collection-stipe foar de measte doelboards (basearre op ARM Cortex-M) en WebAssembly, stipe foar it HiFive1 rev B board basearre op de RISC- V-arsjitektuer en it Arduino nano33-boerd,
ferbettere taalstipe (stipe foar bitfjilden mei getters en setters, stipe foar anonime struktueren).
Boarne: opennet.ru