Go协程
协程是 Go 语言中用于并发编程的关键特性。协程是由 Go 运行时管理的轻量级线程,它允许开发者轻松地并发运行任务。
package main
import (
"fmt"
"time"
)
func printNumbers() {
for i := 1; i <= 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Printf("%d ", i)
}
}
func printLetters() {
for char := 'a'; char <= 'e'; char++ {
time.Sleep(100 * time.Millisecond)
fmt.Printf("%c ", char)
}
}
func main() {
go printNumbers() // 使用 go 关键字启动协程以并发打印数字
go printLetters() // 使用另一个协程并发打印字母
// 休眠一段时间以允许协程执行
time.Sleep(1 * time.Second)
fmt.Println("Main function exits.")
// => 1 a b 2 c 3 4 d e 5 Main function exits.
}
go
关键字用于启动函数作为一个协程。这意味着 printNumbers
和 printLetters
将与主函数并发运行。
代码挑战
编写一个程序,使用协程并发地生成限制范围内的素数。
注意:暂时忽略make(chan int)
和sync.WaitGroup
。后面的章节会介绍它们。
Loading...
> 此处输出代码运行结果