在Go語言中,可以通過關鍵字go
來創建一個goroutine,goroutine是一種輕量級的線程,可以并發執行任務。創建goroutine的語法如下:
go func_name()
其中func_name()
是一個函數的調用,該函數會在一個新的goroutine中執行。
除此之外,還可以使用匿名函數來創建goroutine:
go func() {
// 執行任務
}()
在使用goroutine時,可以利用通道(channel)來實現goroutine之間的通信。可以使用make
函數創建一個通道,然后使用<-
來進行發送和接收數據。例如:
ch := make(chan int)
go func() {
ch <- 42 // 發送數據到通道
}()
result := <-ch // 從通道中接收數據
fmt.Println(result)
注意,在使用goroutine時,需要注意避免數據競態問題,可以使用sync
包中的互斥鎖(Mutex)來保護共享數據的訪問。