TinyGo рд╣реЗ рдЧреЛ рд▓рдБрдЧреНрд╡реЗрдЬ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрд╣реЗ рдЬреЗ рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕, WASM рдЖрдгрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдпреБрдЯрд┐рд▓рд┐рдЯреА рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕рд╛рд░рдЦреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ.

LLVM рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдХрд╛рдорд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдпреА рдкрджреНрдзрдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдирд╛, TinyGo Go рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рддреЗ.

рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЙрджреНрджрд┐рд╖реНрдЯреЗ:

  1. рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рдХрд┐рдорд╛рди рдЖрдХрд╛рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рд╛.
  2. рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ.
  3. WebAssembly рд╕рдорд░реНрдерди.
  4. рдЪрд╛рдВрдЧрд▓реЗ CGo рд╕рдорд░реНрдерди.
  5. рдмрджрд▓рд╛рдВрд╢рд┐рд╡рд╛рдп рдореВрд│ рдЧреЛ рдХреЛрдбрдЪреЗ рд╕рдорд░реНрдерди.

рдорд╛рдпрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░рд╡рд░ рдПрд▓рдИрдбреА рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░:

рдкреЕрдХреЗрдЬ рдореБрдЦреНрдп

рдЖрдпрд╛рдд (
"рдорд╢реАрди"
"рд╡реЗрд│"
)

func main () {
led := machine.LED
led.Configure(machine.PinConfig{рдореЛрдб: 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛