tinygo 0.6.0

TinyGo – это компилятор языка Go, предназначенный для использования в таких областях, как микроконтроллеры, WASM, а также разработки утилит командной строки.

TinyGo использует утилиты и библиотеки, написанные в проекте Go, при этом предоставляя альтернативный метод компиляции программ на основе наработок проекта LLVM.

Задачи проекта:

  1. Обеспечить минимальный размер исполняемых файлов.
  2. Поддержка наибольшего количества микроконтроллеров.
  3. Поддержка WebAssembly.
  4. Хорошая поддержка CGo.
  5. Поддержка оригинального кода на Go без изменений.

Пример использования для переключения LED на микроконтроллере:

package main

import (
"machine"
"time"
)

func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Low()
time.Sleep(time.Millisecond * 1000)

led.High()
time.Sleep(time.Millisecond * 1000)
}
}

Версия 0.6.0 содержит множество изменений. Основные из них относятся к улучшению поддержки CGo, js.FuncOF (Go 1.12+), а также двух новых отладочных плат: Adafruit Feather M0 и Adafruit Trinket M0.

Полный список изменений доступен на GitHub странице проекта.

Источник: linux.org.ru

Добавить комментарий