Το TinyGo είναι ένας μεταγλωττιστής γλώσσας Go που προορίζεται για χρήση σε τομείς όπως μικροελεγκτές, WASM και ανάπτυξη βοηθητικών προγραμμάτων γραμμής εντολών.

Το TinyGo χρησιμοποιεί βοηθητικά προγράμματα και βιβλιοθήκες γραμμένες στο έργο Go, ενώ παρέχει μια εναλλακτική μέθοδο για τη μεταγλώττιση προγραμμάτων που βασίζονται στην εργασία του έργου LLVM.

Στόχοι του έργου:

  1. Εξασφαλίστε το ελάχιστο μέγεθος των εκτελέσιμων αρχείων.
  2. Υποστηρίζει τον μεγαλύτερο αριθμό μικροελεγκτών.
  3. Υποστήριξη WebAssembly.
  4. Καλή υποστήριξη CGo.
  5. Υποστήριξη αρχικού κώδικα Go χωρίς αλλαγές.

Παράδειγμα χρήσης για την εναλλαγή LED σε μικροελεγκτή:

κύριο πακέτο

εισαγωγή (
"μηχανή"
"χρόνος"
)

func main () {
led := μηχανή.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
Για {
led.Low()
time.Sleep(time.Millisecond * 1000)

led.High()
time.Sleep(time.Millisecond * 1000)
}
}

Η έκδοση 0.6.0 περιέχει πολλές αλλαγές. Τα κυριότερα σχετίζονται με βελτιωμένη υποστήριξη για το CGo, js.FuncOF (Go 1.12+), καθώς και δύο νέες πλακέτες ανάπτυξης: Adafruit Feather M0 και Adafruit Trinket M0.

Η πλήρης λίστα αλλαγών είναι διαθέσιμη στη διεύθυνση Σελίδα έργου GitHub.

Πηγή: linux.org.ru

Προσθέστε ένα σχόλιο