TinyGo అనేది మైక్రోకంట్రోలర్‌లు, WASM మరియు కమాండ్ లైన్ యుటిలిటీ డెవలప్‌మెంట్ వంటి ప్రాంతాలలో ఉపయోగం కోసం ఉద్దేశించిన గో లాంగ్వేజ్ కంపైలర్.

TinyGo గో ప్రాజెక్ట్‌లో వ్రాసిన యుటిలిటీలు మరియు లైబ్రరీలను ఉపయోగిస్తుంది, అయితే LLVM ప్రాజెక్ట్ యొక్క పని ఆధారంగా ప్రోగ్రామ్‌లను కంపైల్ చేయడానికి ప్రత్యామ్నాయ పద్ధతిని అందిస్తుంది.

ప్రాజెక్ట్ లక్ష్యాలు:

  1. ఎక్జిక్యూటబుల్ ఫైల్‌ల కనీస పరిమాణాన్ని నిర్ధారించుకోండి.
  2. అత్యధిక సంఖ్యలో మైక్రోకంట్రోలర్‌లకు మద్దతు ఇస్తుంది.
  3. WebAssembly మద్దతు.
  4. మంచి CGo మద్దతు.
  5. మార్పులు లేకుండా అసలైన Go కోడ్‌కు మద్దతు.

మైక్రోకంట్రోలర్‌లో LED మారడానికి ఉదాహరణ ఉపయోగం:

ప్యాకేజీ ప్రధాన

దిగుమతి (
"యంత్రం"
"సమయం"
)

ఫంక్ మెయిన్() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: 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

ఒక వ్యాఖ్యను జోడించండి