» Go语言快速入门 » 3. 高级篇 » 3.1 Go协程

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 关键字用于启动函数作为一个协程。这意味着 printNumbersprintLetters 将与主函数并发运行。

代码挑战

编写一个程序,使用协程并发地生成限制范围内的素数。
注意:暂时忽略 make(chan int)sync.WaitGroup。后面的章节会介绍它们。

Loading...
> 此处输出代码运行结果
上页
下页