Kapitel 3. Go's Gleichzeitigkeits-Bausteine
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
In diesem Kapitel besprechen wir die zahlreichen Funktionen von Go, die die Gleichzeitigkeit unterstützen. Am Ende dieses Kapitels solltest du die Syntax, die Funktionen und die Pakete, die dir zur Verfügung stehen, sowie deren Funktionalität gut verstehen.
Goroutinen
Goroutinen sind eine der grundlegendsten Organisationseinheiten in einem Go-Programm. Deshalb ist es wichtig, dass wir verstehen, was sie sind und wie sie funktionieren. Tatsächlich hat jedes Go-Programm mindestens eine Goroutine: die Hauptgoroutine, die automatisch erstellt und gestartet wird, wenn der Prozess beginnt. In fast jedem Programm wirst du wahrscheinlich früher oder später zu einer Goroutine greifen, um deine Probleme zu lösen. Was sind sie also?
Vereinfacht ausgedrückt, ist eine Goroutine eine Funktion, die gleichzeitig (zur Erinnerung: nicht unbedingt parallel!) mit anderem Code ausgeführt wird. Du kannst eine Goroutine einfach starten, indem du das Schlüsselwort go
vor eine Funktion setzt:
func
main
()
{
go
sayHello
()
// continue doing other things
}
func
sayHello
()
{
fmt
.
Println
(
"hello"
)
}
Anonyme Funktionen funktionieren auch! Hier ist ein Beispiel, das dasselbe tut wie das vorherige Beispiel. Anstatt jedoch eine Goroutine aus einer Funktion zu erstellen, erstellen wir eine Goroutine aus einer anonymen Funktion:
go
func
Get Gleichzeitigkeit in Go now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.