Go 中實作 Goroutine:語法:go func() { ... }。實戰案例:建立 goroutine 計算斐波那契序列,透過無緩衝通道傳送結果。
如何在 Go 中實作 Goroutine 協程?
Golang 中的 Goroutine 是輕量級協程,可用於並發執行任務。與執行緒不同,Goroutine 非常輕量,並且由 Go 運行時管理,因此無需手動建立或管理它們。
語法
建立一個Goroutine 的語法如下:
go func() { // Goroutine 的代码 }()
實戰案例
以下是一個使用Goroutine 計算斐波那契序列的實戰案例:
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) }
說明
make(chan int)
建立一個無緩衝通道c
。 go fibonacci(10, c)
啟動一個 Goroutine 來計算斐波那契序列並將其傳送到通道 c
中。 for i := range c
從頻道 c
接收值並列印到標準輸出。 close(c)
在 Goroutine 計算完成後關閉通道。 以上是如何在 Go 中實現 Goroutine 協程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!