以下是一个简单的使用goroutine的Go语言代码案例:
package main
import (
"fmt"
"time"
)
func sayHello() {
fmt.Println("Hello")
}
func countNumbers() {
for i := 1; i <= 5; i++ {
time.Sleep(500 * time.Millisecond)
fmt.Printf("%d ", i)
}
}
func main() {
go sayHello()
go countNumbers()
time.Sleep(2 * time.Second)
fmt.Println("\nDone")
}
在这个例子中,我们定义了两个函数:sayHello
和countNumbers
。然后,在main
函数中,我们使用关键字go
启动了两个goroutine分别来执行这两个函数。由于goroutine是并发执行的,所以它们可以同时运行。
通过使用time.Sleep()
来等待一段时间,确保足够的时间给goroutine完成执行。最后,在主goroutine中输出”Done”表示程序执行结束。
注意:实际上,这只是一个简单示例,真正合理地使用goroutine需要考虑更多细节和同步机制来确保正确性和避免竞态条件。
内容由零声教学AI助手提供,问题来源于学员提问