TinyGo рдПрдХ рдЧреЛ рднрд╛рд╖рд╛ рдХрдореНрдкрд╛рдЗрд▓рд░ рд╣реЛ рдЬреБрди рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░, WASM, рд░ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╕реНрддрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред

TinyGo рд▓реЗ LLVM рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдХрд╛рдордорд╛ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрд╛ Go рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд▓реЗрдЦрд┐рдПрдХрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЙрджреНрджреЗрд╢реНрдпрд╣рд░реВ:

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

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

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

рдЖрдпрд╛рдд (
"рдореЗрд╕рд┐рди"
"рд╕рдордп"
)

func main() {
рдиреЗрддреГрддреНрд╡ := рдореЗрд╕рд┐рдиредрдПрд▓рдИрдбреА
led.Configure(machine.PinConfig{рдореЛрдб: machine.PinOutput})
рдХреЛ рд▓рд╛рдЧрд┐ {
рдиреЗрддреГрддреНрд╡ рдХрдо()
рд╕рдордпред рдирд┐рджреНрд░рд╛ (рд╕рдордпред рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдб * 1000)

рдиреЗрддреГрддреНрд╡ред рдЙрдЪреНрдЪ()
рд╕рдордпред рдирд┐рджреНрд░рд╛ (рд╕рдордпред рдорд┐рд▓рд┐рд╕реЗрдХреЗрдиреНрдб * 1000)
}
}

рд╕рдВрд╕реНрдХрд░рдг 0.6.0 рдорд╛ рдзреЗрд░реИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЫрдиреНред рдореБрдЦреНрдпрд╣рд░реВ CGo, js.FuncOF (Go 1.12+), рд╕рд╛рдереИ рджреБрдИ рдирдпрд╛рдБ рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдбрд╣рд░реВ: Adafruit Feather M0 рд░ Adafruit Trinket M0 рдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдорд░реНрдердирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреНред

рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдкреВрд░реНрдг рд╕реВрдЪреА рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда.

рд╕реНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди