Përpilimi për platforma të ndryshme të synuara zbatohet duke përdorur LLVM, dhe bibliotekat e përdorura në paketën kryesore të veglave nga projekti Go përdoren për të mbështetur gjuhën. Programi i përpiluar mund të ekzekutohet drejtpërdrejt në mikrokontrollues, duke lejuar që Go të përdoret si gjuhë për shkrimin e skripteve të automatizimit.
Motivimi për krijimin e një projekti të ri ishte dëshira për të përdorur gjuhën e njohur Go në pajisjet kompakte - zhvilluesit arsyetuan se nëse ekzistonte një version Python për mikrokontrolluesit, atëherë pse të mos krijoni një të ngjashëm për gjuhën Go. Shkoni
Në formën e tij aktuale, mbështeten 15 modele mikrokontrollues, duke përfshirë pllaka të ndryshme nga Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary dhe Phytec. Programet gjithashtu mund të kompilohen për të ekzekutuar në një shfletues në formatin WebAssembly dhe si skedarë të ekzekutueshëm për Linux. Mbështet kontrollorët ESP8266/ESP32
Qëllimet kryesore të projektit:
Mbështetja për sistemet me shumë bërthama nuk është ndër qëllimet kryesore,
nisja efikase e një numri të madh korutinash (fillimi i korutinave në vetvete mbështetet plotësisht), arritja e nivelit të performancës së përpiluesit referencë gc (optimizimi i është lënë LLVM dhe në disa aplikacione Tinygo mund të jetë më i shpejtë se gc) dhe i plotë
Dallimi kryesor nga një përpilues i ngjashëm
Ndër ndryshimet në versionin 0.7 janë zbatimi i komandës "tinygo test", ofrimi i mbështetjes për mbledhjen e mbeturinave për shumicën e tabelave të synuara (bazuar në ARM Cortex-M) dhe WebAssembly, mbështetje për bordin HiFive1 rev B bazuar në RISC- Arkitektura V dhe bordi Arduino nano33,
mbështetje e përmirësuar e gjuhës (mbështetje për fushat e biteve duke përdorur marrës dhe vendosës, mbështetje për strukturat anonime).
Burimi: opennet.ru