Ρ‚ΠΈΠ½ΠΈΠ³ΠΎ 0.6.0

TinyGo Π΅ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ Π·Π° јазик Go Π½Π°ΠΌΠ΅Π½Π΅Ρ‚ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π²ΠΎ области ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ, WASM ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија.

TinyGo користи ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈ услуги ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ напишани Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Go, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ LLVM.

Π¦Π΅Π»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚:

  1. ΠžΠ±Π΅Π·Π±Π΅Π΄Π΅Ρ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.
  2. ΠŸΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° најголСм Π±Ρ€ΠΎΡ˜ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.
  3. ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° WebAssembly.
  4. Π”ΠΎΠ±Ρ€Π° CGo ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°.
  5. ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ Go ΠΊΠΎΠ΄ Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π·Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ LED Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€:

Π³Π»Π°Π²Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚

ΡƒΠ²ΠΎΠ· (
"машина"
"Π²Ρ€Π΅ΠΌΠ΅"
)

Func main() {
led := машина.LED
led.Configure(machine.PinConfig{Mode: 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€