TinyGo 0.27.0 已发布。
TinyGo 是一个 Go 编译器,旨在用于微控制器,WebAssembly(WASM)和命令行工具等小型场景。它重用了 Go 语言工具和 LLVM 一起使用的库,以提供编译用 Go 编程语言编写的程序的另一种方法。
下面是一个示例程序,当直接在带有板载 LED 的任何支持板上运行时,内置 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)
}
}
此版本增加了对 Go 1.20 和 LLVM 15 的支持。此外,它放弃了对 AVR 和 Xtensa 工具链的依赖,因此您无需安装avr-gcc
或xtensa-esp32-elf-ld
使 TinyGo 更易于安装。相反,它使用内置的 LLVM 链接器。
新支持的平台是 windows/arm64(或“Windows on ARM64”)、Waveshare RP2040 Zero、Arduino Leonardo、Adafruit KB2040、Adafruit Feather M0 Express、Makerfabs ESP32C3SPI35 和 Espressif ESP32-C3-DevKit-RUST-1。与往常一样,还有大量较小的修复和改进。
详情查看 Release Notes。