TinyGo เป€เบ›เบฑเบ™เบ•เบปเบงเบฅเบงเบšเบฅเบงเบกเบžเบฒเบชเบฒ Go เบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบŠเบฑเปˆเบ™: microcontrollers, WASM, เปเบฅเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ utility line เบ„เปเบฒเบชเบฑเปˆเบ‡.

TinyGo เปƒเบŠเป‰เบชเบฒเบ—เบฒเบฅเบฐเบ™เบนเบ›เบฐเป‚เบžเบเปเบฅเบฐเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ Go, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ LLVM.

เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™:

  1. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰.
  2. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡ microcontrollers.
  3. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WebAssembly.
  4. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ CGo เบ—เบตเปˆเบ”เบต.
  5. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฅเบฐเบซเบฑเบ” Go เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™ LED เปƒเบ™ microcontroller:

เบŠเบธเบ”เบซเบผเบฑเบ

เบ™เปเบฒเป€เบ‚เบปเป‰เบฒ (
"เป€เบ„เบทเปˆเบญเบ‡"
"เป€เบงเบฅเบฒ"
)

func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
เบชเปเบฒเบฅเบฑเบš {
led.low()
เป€เบงเบฅเบฒ.เบ™เบญเบ™(time.Millisecond * 1000)

led.High()
เป€เบงเบฅเบฒ.เบ™เบญเบ™(time.Millisecond * 1000)
}
}

เป€เบงเบตเบŠเบฑเบ™ 0.6.0 เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบฒเบเบขเปˆเบฒเบ‡. เบ•เบปเป‰เบ™เบ•เปเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ CGo, js.FuncOF (Go 1.12+), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบญเบ‡เบเบฐเบ”เบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบซเบกเปˆ: Adafruit Feather M0 เปเบฅเบฐ Adafruit Trinket M0.

เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบ•เบฑเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ เบซเบ™เป‰เบฒเป‚เบ„เบ‡เบเบฒเบ™ GitHub.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™