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

Beliebte Posts aus diesem Blog

QuestPDF

ASP.NET Core Identity

Custom JsonConverter mit System.Text.Json