Go 協程是與其餘函數或方法一塊兒併發運行的函數或方法。Go 協程能夠看做是輕量級線程。與線程相比,建立一個 Go 協程的成本很小。所以在 Go 應用中,經常會看到有數以千計的 Go 協程併發地運行。程序員
調用函數或者方法時,在前面加上關鍵字 go
,可讓一個新的 Go 協程併發地運行。併發
讓咱們建立一個 Go 協程吧。函數
package main import ( "fmt" ) func hello() { fmt.Println("Hello world goroutine") } func main() { go hello() //啓動一個協程,協程的調用會當即返回,程序會繼續執行下一行,由於主協程結束,程序終止,其餘的協程也會終止 //time.Sleep(1 * time.Second) 因此咱們須要加這行代碼才能體現併發 fmt.Println("main function") }
這就是協程,寫起來很是的簡便!spa