TinyGo๋ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ, WASM ๋ฐ ๋ช ๋ น์ค ์ ํธ๋ฆฌํฐ ๊ฐ๋ฐ๊ณผ ๊ฐ์ ์์ญ์์ ์ฌ์ฉํ๊ธฐ ์ํ Go ์ธ์ด ์ปดํ์ผ๋ฌ์ ๋๋ค.
TinyGo๋ Go ํ๋ก์ ํธ์์ ์์ฑ๋ ์ ํธ๋ฆฌํฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋์์ LLVM ํ๋ก์ ํธ ์์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ธฐ ์ํ ๋์ฒด ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
ํ๋ก์ ํธ ๋ชฉ์ :
- ์คํ ํ์ผ์ ์ต์ ํฌ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
- ๊ฐ์ฅ ๋ง์ ์์ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ์ง์ํฉ๋๋ค.
- ์น์ด์ ๋ธ๋ฆฌ ์ง์.
- ์ข์ CGo ์ง์.
- ๋ณ๊ฒฝ ์์ด ์๋ณธ Go ์ฝ๋๋ฅผ ์ง์ํฉ๋๋ค.
๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ LED ์ ํ์ ๋ํ ์ฌ์ฉ ์:
์ฃผ์ ํจํค์ง
์์
(
"๊ธฐ๊ณ"
"์๊ฐ"
)
ํจ์ ๋ฉ์ธ() {
์ฃผ๋ := ๊ธฐ๊ณ. LED
led.Configure(machine.PinConfig{๋ชจ๋: machine.PinOutput})
์ ์ํ {
LED.๋ฎ์()
์๊ฐ.์๋ฉด(์๊ฐ.๋ฐ๋ฆฌ์ด * 1000)
LED.๋์()
์๊ฐ.์๋ฉด(์๊ฐ.๋ฐ๋ฆฌ์ด * 1000)
}
}
๋ฒ์ 0.6.0์๋ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ CGo, js.FuncOF(Go 1.12+)์ ๋ํ ํฅ์๋ ์ง์๊ณผ ๋ ๊ฐ์ ์๋ก์ด ๊ฐ๋ฐ ๋ณด๋์ธ Adafruit Feather M0 ๋ฐ Adafruit Trinket M0๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ ์ฒด ๋ณ๊ฒฝ ๋ชฉ๋ก์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค. GitHub ํ๋ก์ ํธ ํ์ด์ง.
์ถ์ฒ : linux.org.ru