0 Tage Serie
Code-Bibliothek

Code, der lesenswert ist.

Sorgfältig kuratierte Snippets — TypeScript, Python, Rust, Go und mehr. Jedes mit einer Zeile-für-Zeile-Erklärung, damit du Code so liest, wie die Leute ihn geschrieben haben.

3498 Snippets · 10 Sprachen
▶ Lernen starten
Go · AnfängerSnippet

Fehlerbehandlungsmuster

Anstatt Ausnahmen (Exceptions) zu verwenden, nutzt Go eine explizite Fehlerprüfung. Funktionen geben als letzten Rückgabewert einen 'error'-Typ zurück, der sofort geprüft werden sollte.

snippet.go
go
1
2
3
4
5
6
result, err := doSomething()
if err != nil {
fmt.Println("Error occurred:", err)
return
}
fmt.Println("Success:", result)
FehlerbehandlungBest Practices
Go · AnfängerSnippet

Arbeiten mit Slices

Slices sind dynamische Fenster in Arrays. Im Gegensatz zu Arrays können Slices mit der integrierten 'append'-Funktion in ihrer Größe wachsen.

snippet.go
go
1
2
3
fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fmt.Println(fruits[1]) // "banana"
Arrays & ListenDatentypen
Go · AnfängerSnippet

Die For-Schleife

Go hat nur ein Schleifenkonstrukt: 'for'. Es kann als Standard-C-Style-Schleife oder als 'while'-Schleife verwendet werden, indem Initialisierung und Post-Anweisung weggelassen werden.

snippet.go
go
1
2
3
4
5
6
7
8
9
for i := 0; i < 5; i++ {
fmt.Println("Iteration:", i)
}
// While-like loop
sum := 1
for sum < 10 {
sum += sum
}
KontrollstrukturenSyntax
Go · AnfängerSnippet

Variablendeklarationen

In Go können Sie Variablen mit dem Schlüsselwort 'var' und einem expliziten Typ deklarieren oder den Kurzdeklarationsoperator ':=' verwenden, der den Typ automatisch ableitet.

snippet.go
go
1
2
3
4
5
6
7
8
9
package main
import "fmt"
func main() {
var name string = "Gopher"
age := 10
fmt.Printf("%s is %d years old", name, age)
}
SyntaxDatentypen
Go · AnfängerSnippet

Einfache Arrays

Arrays in Go haben eine feste Länge, die Teil ihres Typs ist. Einmal definiert, kann sich ihre Größe nicht mehr ändern.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
package main
import "fmt"
func main() {
var ids [3]int
ids[0] = 101
ids[1] = 102
ids[2] = 103
names := [2]string{"Alice", "Bob"}
fmt.Println(ids, names)
}
Arrays & ListenDatentypen
Go · AnfängerSnippet

Bedingte Logik mit If-Else

Die if-Anweisung wertet eine boolesche Bedingung aus. Um die Bedingung werden keine Klammern verwendet, aber geschweifte Klammern für den Block sind zwingend erforderlich.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main
import "fmt"
func main() {
temp := 25
if temp > 30 {
fmt.Println("It is hot")
} else if temp > 20 {
fmt.Println("It is nice")
} else {
fmt.Println("It is cold")
}
}
KontrollstrukturenSyntax
Go · AnfängerSnippet

Structs definieren

Structs werden verwendet, um zusammengehörige Daten zu gruppieren. Im Gegensatz zu Klassen in anderen Sprachen verwendet Go Structs, um die Form von Datenobjekten zu definieren.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main
import "fmt"
type User struct {
Username string
Email string
Active bool
}
func main() {
u := User{Username: "coder123", Email: "[email protected]", Active: true}
fmt.Println(u.Username)
}
DatentypenSyntax
Go · AnfängerSnippet

Methoden für Typen

Eine Methode ist eine Funktion mit einem speziellen Receiver-Argument. Sie ermöglicht es, Verhalten an Structs zu binden.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main
import "fmt"
type Rectangle struct {
Width, Height int
}
func (r Rectangle) Area() int {
return r.Width * r.Height
}
func main() {
rect := Rectangle{Width: 10, Height: 5}
fmt.Println("Area:", rect.Area())
}
FunktionenSyntax