Goroutine in Go implementiert: Syntax: go func() { ... }. Praktischer Fall: Erstellen Sie eine Goroutine zur Berechnung der Fibonacci-Folge und senden Sie die Ergebnisse über einen ungepufferten Kanal.
Wie implementiert man Goroutine-Coroutine in Go?
Goroutine in Golang ist eine leichte Coroutine, mit der Aufgaben gleichzeitig ausgeführt werden können. Im Gegensatz zu Threads sind Goroutinen leichtgewichtig und werden von der Go-Laufzeit verwaltet, sodass sie nicht manuell erstellt oder verwaltet werden müssen.
Syntax
Die Syntax zum Erstellen einer Goroutine lautet wie folgt:
go func() { // Goroutine 的代码 }()
Praktischer Fall
Das Folgende ist ein praktischer Fall der Verwendung von Goroutine zur Berechnung der Fibonacci-Folge:
package main func main() { c := make(chan int) go fibonacci(10, c) for i := range c { fmt.Println(i) } } func fibonacci(n int, c chan int) { x, y := 0, 1 for i := 0; i < n; i++ { c <- x x, y = y, x+y } close(c) }
Anweisungen
make(chan int)
erstellt einen ungepufferten Kanal c
. make(chan int)
创建一个无缓冲通道 c
。go fibonacci(10, c)
启动一个 Goroutine 来计算斐波那契序列并将其发送到通道 c
中。for i := range c
从通道 c
中接收值并打印到标准输出。close(c)
go fibonacci(10, c)
startet eine Goroutine, um die Fibonacci-Folge zu berechnen und sie an Kanal c
zu senden. for i := range c
empfängt einen Wert vom Kanal c
und gibt ihn auf der Standardausgabe aus. 🎜🎜close(c)
Schließt den Kanal, nachdem die Goroutine-Berechnung abgeschlossen ist. 🎜🎜Das obige ist der detaillierte Inhalt vonWie implementiert man Goroutine-Coroutine in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!