TinyGo - микроконтроллерлер, WASM және пәрмен жолы утилиталарын әзірлеу сияқты салаларда пайдалануға арналған Go тілінің компиляторы.

TinyGo Go жобасында жазылған утилиталар мен кітапханаларды пайдаланады, сонымен бірге LLVM жобасының жұмысына негізделген бағдарламаларды құрастырудың балама әдісін ұсынады.

Жобаның мақсаттары:

  1. Орындалатын файлдардың ең аз өлшемін қамтамасыз етіңіз.
  2. Микроконтроллерлердің ең көп санын қолдайды.
  3. WebAssembly қолдауы.
  4. Жақсы CGo қолдауы.
  5. Түпнұсқа Go кодын өзгертусіз қолдау.

Микроконтроллерде жарықдиодты қосудың мысалы:

негізгі пакет

импорт (
«машина»
«уақыт»
)

func main() {
led := machine.LED
led.Configure(machine.PinConfig{Режим: machine.PinOutput})
үшін {
led.Low()
уақыт.Ұйқы (уақыт.Миллисекунд * 1000)

led.High()
уақыт.Ұйқы (уақыт.Миллисекунд * 1000)
}
}

0.6.0 нұсқасында көптеген өзгерістер бар. Негізгілері CGo, js.FuncOF (Go 1.12+) үшін жақсартылған қолдауға, сондай-ақ екі жаңа әзірлеу тақтасына қатысты: Adafruit Feather M0 және Adafruit Trinket M0.

Өзгерістердің толық тізімі мына жерден қол жетімді GitHub жобасының беті.

Ақпарат көзі: linux.org.ru

пікір қалдыру