TinyGo āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ Go āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¯āĻž āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°, WASM āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ˛āĻžāĻ•āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡āĨ¤

LLVM āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ TinyGo Go āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ˛ā§‡āĻ–āĻž āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯:

  1. āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ†āĻ•āĻžāĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨āĨ¤
  2. āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  3. WebAssembly āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨.
  4. āĻ­āĻžāĻ˛ CGo āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨.
  5. āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ†āĻ¸āĻ˛ āĻ—ā§‹ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡ LED āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ°āĻ§āĻžāĻ¨

āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ (
"āĻŽā§‡āĻļāĻŋāĻ¨"
"āĻ¸āĻŽāĻ¯āĻŧ"
)

func main() {
led := machine.LED
led.Configure(machine.PinConfig{āĻŽā§‹āĻĄ: machine.PinOutput})
āĻœāĻ¨ā§āĻ¯ {
āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦāĻžāĻ§ā§€āĻ¨āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨()
āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ˜ā§āĻŽ (āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ * 1000)

led.High()
āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ˜ā§āĻŽ (āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ * 1000)
}
}

āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 0.6.0-āĻ āĻ…āĻ¨ā§‡āĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ CGo, js.FuncOF (Go 1.12+), āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻĻā§āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻŦā§‹āĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤: Adafruit Feather M0 āĻāĻŦāĻ‚ Adafruit Trinket M0āĨ¤

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ GitHub āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĒā§ƒāĻˇā§āĻ āĻž.

āĻ‰āĻ¤ā§āĻ¸: linux.org.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨