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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster