Veröffentlichung der Programmiersprache Go 1.22

Die Go 1.22 Programmiersprache wurde veröffentlicht. Sie wird von Google in Zusammenarbeit mit der Community entwickelt und vereint die hohe Leistung kompilierter Sprachen mit den Vorteilen von Skriptsprachen, wie der Einfachheit des Programmierens, einer schnellen Entwicklungszeit und einer hohen Fehlersicherheit. Der Code des Projekts wird unter der BSD-Lizenz verbreitet.

Die Syntax von Go basiert auf vertrauten Elementen der Programmiersprache C, ergänzt durch einige Entlehnungen aus Oberon. Die Sprache ist kompakt, während der Code gut lesbar und nachvollziehbar bleibt. Go-Code wird in eigenständige binäre ausführbare Dateien kompiliert, die nativ ohne den Einsatz einer virtuellen Maschine ausgeführt werden (Profilierungs-, Debugging-Module und andere Subsysteme zur Problemerkennung werden in Form von Runtime-Komponenten integriert), was eine Leistung ermöglicht, die mit Programmen in C vergleichbar ist.

Das Projekt wird von Anfang an mit dem Fokus auf Multithreading und die effiziente Nutzung von Mehrkernsystemen entwickelt. Dabei werden auf Betreiber-Ebene implementierte Werkzeuge für die Organisation paralleler Berechnungen und die Interaktion zwischen gleichzeitig ausgeführten Methoden bereitgestellt. Die Sprache bietet zudem integrierte Schutzmechanismen gegen das Überschreiten der zulässigen Grenzen reservierter Speicherblöcke und ermöglicht die Nutzung eines Garbage Collectors.

Zu den Änderungen in der neuen Version gehören:

  • In 'for'-Schleifen wurde die Unterstützung für die Definition von Bereichen aus Ganzzahlen hinzugefügt. Zum Beispiel kann jetzt für die Iteration über Werte von 0 bis 9 die Schleife 'for i := range 10 {…}' verwendet werden.
  • In 'for'-Schleifen wurde experimentelle Unterstützung für Bereichsfunktionsdefinitionen (GOEXPERIMENT=rangefunc) hinzugefügt, welche es ermöglicht, eine Funktion als Iterator anzugeben. Zum Beispiel: 'for i, x := range slices.Backward(s) {…}'
  • Ein langjähriges Problem mit den "for"-Schleifen wurde behoben, das beim Aufruf von Goroutinen zur gemeinsamen Nutzung von Schleifenvariablen in verschiedenen Iterationen führte. Zum Beispiel: code values := []string{"a", "b", "c"} for _, v := range values { go func() { fmt.Println(v) done

    Quelle: opennet.ru
Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster