TinyGo እንደ ማይክሮ መቆጣጠሪያ፣ WASM እና የትእዛዝ መስመር መገልገያ ልማት ባሉ አካባቢዎች ጥቅም ላይ እንዲውል የታሰበ የ Go ቋንቋ ማጠናከሪያ ነው።
TinyGo በ LLVM ፕሮጀክት ስራ ላይ ተመስርተው ፕሮግራሞችን ለማጠናቀር አማራጭ ዘዴ ሲያቀርቡ በ Go ፕሮጀክት ውስጥ የተፃፉ መገልገያዎችን እና ቤተ-መጻሕፍትን ይጠቀማል።
የፕሮጀክት አላማዎች፡-
- የሚተገበሩ ፋይሎችን አነስተኛ መጠን ያረጋግጡ።
- ከፍተኛውን የማይክሮ መቆጣጠሪያ ብዛት ይደግፋል።
- WebAssembly ድጋፍ.
- ጥሩ የ CGO ድጋፍ።
- የዋናው የ Go ኮድ ድጋፍ ያለ ለውጦች።
በማይክሮ መቆጣጠሪያ ላይ LEDን ለመቀየር የአጠቃቀም ምሳሌ፡-
ጥቅል ዋና
ማስመጣት (
"ማሽን"
"ጊዜ"
)
func ዋና () {
መሪ: = ማሽን.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
ለ {
መሪ. ዝቅተኛ()
ጊዜ። እንቅልፍ (ጊዜ. ሚሊሰከንድ * 1000)
መሪ. ከፍተኛ ()
ጊዜ። እንቅልፍ (ጊዜ. ሚሊሰከንድ * 1000)
}
}
ስሪት 0.6.0 ብዙ ለውጦችን ይዟል። ዋናዎቹ ለ CGo, js.FuncOF (Go 1.12+) እና ሁለት አዳዲስ የልማት ቦርዶች ከተሻሻለው ድጋፍ ጋር ይዛመዳሉ: Adafruit Feather M0 እና Adafruit Trinket M0.
የለውጦቹ ሙሉ ዝርዝር በ ላይ ይገኛል። GitHub ፕሮጀክት ገጽ.
ምንጭ: linux.org.ru