新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Go语言中的goroutine如何创建和使用,go语言中的defer

发布时间:2024-04-12 20:02:07

Go语言中的goroutine如何创建和使用

在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)来保护共享数据的访问。