Go
Go
Go, oft auch als Golang bezeichnet, ist eine Programmiersprache, welche den Fokus auf die Performance legt. Sie wurde von Google entwickelt und erschien im Jahr 2009. Die Sprache wird oft bei der Entwicklung von Webanwendungen und Microservices verwendet.
Grundlagen
Die Syntax von Go ist möglichst einfach, um die Fehleranfälligkeit zu minimieren. Dies ist ein einfaches Hello-World-Programm:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Was als erstes auffällt, sind die fehlenden Semikolons. Go erkennt das Ende von Operationen mit Hilfe von Zeilenumbrüchen, wie bei Python.
Datentypen
Go ist eine stark typisierte Sprache, wie C# oder Java. Das bedeutet, dass jede Variable einen Datentyp hat und Typfehler schon bei der Compilezeit erkannt werden.
package main
import "fmt"
func main() {
// Ganzzahlen
var zahl1 int = 42
zahl2 := 24 // Kurze Schreibweise
// Fliesskommazahlen
var fliesskomma float64 = 3.14
// Strings
text := "Hallo, Go!"
// Boolesche Werte
wahr := true
fmt.Println(zahl1, zahl2, fliesskomma, text, wahr)
}
Die kurze Schreibweise ermöglicht einem, den Datentyp weg zu lassen. Dadurch wird automatisch erkannt, welcher Datentyp benötigt wird, ähnlich wie bei der Verwendung von "var" in C#.
Bedingungen
Bedingungen sind in Go ähnlich wie bei anderen Sprachen gestaltet.
alter := 18
if alter >= 18 {
fmt.Println("Du bist volljährig.")
} else {
fmt.Println("Du bist minderjährig.")
}
Es werden für die Bedingung keine Klammern benötigt.
Schleifen
Auch die Schleifen sind bereits von anderen Sprachen erkannt. Hierfür kann man die kurze Schreibweise (:=) für die Initialisierung der Laufvariable verwenden.
for i := 0; i < 5; i++ {
fmt.Println(i)
}
Auch hier verwendet man keine Klammern für die Bedinung.
Funktionen
Um eine Funktion zu erstellen, wird das Schlüsselwort "func" verwendet. Hier ist ein einfaches Beispiel einer Funktion, welche zwei Zahlen addiert:
func addiere(a, b int) int {
return a + b
}
func main() {
summe := addiere(3, 5)
fmt.Println("Die Summe ist: ", summe)
}
Dieses programm würde den Text "Die Summe ist: 8" ausgeben.
Es gibt viele IDEs um mit Go zu entwickeln. JetBrains erstellte dafür eine eigene IDE namens "GoLand". Visual Studio ist ebenfalls eine beliebte IDE für Go.
Goroutine
Eine "Goroutine" ist eine Funktion, welche parallel ausgeführt werden kann. Um solch eine Funktion zu schreiben, verwendet man das Keyword "go".
package main
import (
"fmt"
"time"
)
func main() {
go sayHello()
time.Sleep(1 * time.Second)
}
func sayHello() {
fmt.Println("Hello from Goroutine!")
}
Dieses Programm führt die Funktion "sayHello" parallel zur Main-Methode aus.
Vor- und Nachteile
Zu den Vorteilen von Go gehören vor allem die hohe Performance und die einfache Parallelisierung durch die Goroutinen. Ausserdem hat Go eine umfangreiche Standardbibliothek, welche einem viel Code abnimmt. Ein weiterer Vorteil ist die starke Typisierung, wodurch Typfehler zur Compilezeit erkannt werden.
Es sind jedoch auch ein paar Nachteile zu beachten. Go hat eine relativ kleine Community und dadurch wenig Bibliotheken und Frameworks.
Kommentare
Kommentar veröffentlichen