A különféle célplatformokhoz való fordítást LLVM segítségével valósítják meg, és a Go projekt fő eszköztárában használt könyvtárakat használják a nyelv támogatására. A lefordított program közvetlenül futtatható mikrokontrollereken, így a Go nyelvként használható automatizálási szkriptek írásához.
Az új projekt létrehozásának motivációja az volt, hogy az ismerős Go nyelvet kompakt eszközökön is használni akarták – a fejlesztők úgy érveltek, hogy ha van Python-verzió mikrokontrollerekhez, akkor miért ne készíthetnénk hasonlót a Go nyelvhez. Megy
Jelenlegi formájában 15 mikrokontroller modell támogatott, köztük az Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary és Phytec különféle kártyái. A programokat böngészőben WebAssembly formátumban és futtatható fájlokként is le lehet fordítani Linux alatt. Támogatja az ESP8266/ESP32 vezérlőket
A projekt legfontosabb céljai:
A többmagos rendszerek támogatása nem tartozik a fő célok közé,
hatalmas számú korutin hatékony elindítása (maga a korutinok elindítása teljes mértékben támogatott), a gc referencia fordító teljesítményszintjének elérése (az optimalizálás az LLVM-re van bízva, és egyes alkalmazásokban a Tinygo gyorsabb lehet, mint a gc) és
A fő különbség egy hasonló fordítóhoz képest
A 0.7-es kiadás változásai között szerepel a „tinygo test” parancs megvalósítása, a szemétgyűjtési támogatás biztosítása a legtöbb céltáblához (ARM Cortex-M alapú) és a WebAssembly, valamint a RISC-alapú HiFive1 rev B kártya támogatása. V architektúra és az Arduino nano33 kártya,
továbbfejlesztett nyelvtámogatás (gettereket és settereket használó bitmezők támogatása, névtelen struktúrák támogatása).
Forrás: opennet.ru