Il-kumpilazzjoni għal diversi pjattaformi fil-mira hija implimentata bl-użu tal-LLVM, u l-libreriji użati fil-għodda prinċipali mill-proġett Go jintużaw biex jappoġġjaw il-lingwa. Il-programm ikkumpilat jista 'jitħaddem direttament fuq mikrokontrolluri, li jippermetti lil Go jintuża bħala lingwa għall-kitba ta' skripts ta 'awtomazzjoni.
Il-motivazzjoni għall-ħolqien ta 'proġett ġdid kienet ix-xewqa li tuża l-lingwa Go familjari fuq apparati kompatti - l-iżviluppaturi rraġunaw li jekk kien hemm verżjoni Python għal mikrokontrolluri, allura għaliex ma toħloqx waħda simili għal-lingwa Go. Mur
Fil-forma attwali tiegħu, 15-il mudell ta 'mikrokontrollur huma appoġġjati, inklużi diversi bordijiet minn Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary u Phytec. Il-programmi jistgħu wkoll jiġu kkompilati biex jaħdmu f'browser fil-format WebAssembly u bħala fajls eżekutibbli għal Linux. Jappoġġja l-kontrolluri ESP8266/ESP32
Għanijiet ewlenin tal-proġett:
L-appoġġ għal sistemi multi-core mhuwiex fost l-għanijiet ewlenin,
tnedija effiċjenti ta 'numru kbir ta' coroutines (it-tnedija ta 'coroutines innifsu huwa appoġġjat bis-sħiħ), kisba tal-livell ta' prestazzjoni tal-kompilatur ta 'referenza gc (l-ottimizzazzjoni titħalla f'idejn LLVM u f'xi applikazzjonijiet Tinygo jista' jkun aktar mgħaġġel minn gc) u kompluta
Id-differenza ewlenija minn kompilatur simili
Fost il-bidliet fir-rilaxx 0.7 hemm l-implimentazzjoni tal-kmand "tinygo test", il-provvista ta 'appoġġ għall-ġbir taż-żibel għall-biċċa l-kbira tal-bordijiet fil-mira (ibbażat fuq ARM Cortex-M) u WebAssembly, appoġġ għall-bord HiFive1 rev B ibbażat fuq RISC- L-arkitettura V u l-bord Arduino nano33,
appoġġ imtejjeb tal-lingwa (appoġġ għall-oqsma tal-bit bl-użu ta 'getters u setters, appoġġ għal strutturi anonimi).
Sors: opennet.ru