Penyusunan untuk pelbagai platform sasaran dilaksanakan menggunakan LLVM, dan perpustakaan yang digunakan dalam kit alat utama daripada projek Go digunakan untuk menyokong bahasa. Program yang disusun boleh dijalankan terus pada mikropengawal, membolehkan Go digunakan sebagai bahasa untuk menulis skrip automasi.
Motivasi untuk mencipta projek baharu ialah keinginan untuk menggunakan bahasa Go yang biasa pada peranti padat - pembangun berpendapat bahawa jika terdapat versi Python untuk mikropengawal, maka mengapa tidak mencipta yang serupa untuk bahasa Go. Pergi
Dalam bentuk semasanya, 15 model mikropengawal disokong, termasuk pelbagai papan daripada Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary dan Phytec. Program juga boleh disusun untuk dijalankan dalam pelayar dalam format WebAssembly dan sebagai fail boleh laku untuk Linux. Menyokong pengawal ESP8266/ESP32
Matlamat projek utama:
Sokongan untuk sistem berbilang teras bukanlah antara matlamat utama,
pelancaran yang cekap bagi sejumlah besar coroutine (pelancaran coroutine itu sendiri disokong sepenuhnya), pencapaian tahap prestasi pengkompil rujukan gc (pengoptimuman diserahkan kepada LLVM dan dalam sesetengah aplikasi Tinygo mungkin lebih pantas daripada gc) dan lengkap
Perbezaan utama dari pengkompil yang serupa
Antara perubahan dalam keluaran 0.7 ialah pelaksanaan perintah "tinygo test", penyediaan sokongan pengumpulan sampah untuk kebanyakan papan sasaran (berdasarkan ARM Cortex-M) dan WebAssembly, sokongan untuk papan HiFive1 rev B berdasarkan RISC- Seni bina V dan papan Arduino nano33,
sokongan bahasa yang lebih baik (sokongan untuk medan bit menggunakan getter dan setter, sokongan untuk struktur tanpa nama).
Sumber: opennet.ru