实例目标:
演示Go语言中的并发编程,通过goroutines
实现并行任务。
package main
import (
"fmt"
"time"
)
func printNumbers() {
for i := 1; i <= 5; i++ {
fmt.Println(i)
time.Sleep(time.Second)
}
}
func printLetters() {
letters := []string{"A", "B", "C", "D", "E"}
for _, letter := range letters {
fmt.Println(letter)
time.Sleep(time.Second)
}
}
func main() {
// 启动两个goroutines
go printNumbers()
go printLetters()
// 等待一段时间确保两个goroutines运行完成
time.Sleep(6 * time.Second)
}
解释:
go
关键字启动一个新的goroutine
,这是一种轻量级的并发执行方式。time.Sleep()
用于模拟任务的延迟,确保主程序在goroutine执行时不立即退出。
应用场景:
- 并发编程广泛应用于高并发场景,例如网络请求处理、文件下载、数据抓取等。实例目标:
演示Go语言中的并发编程,通过goroutines
实现并行任务。
package main
import (
"fmt"
"time"
)
func printNumbers() {
for i := 1; i <= 5; i++ {
fmt.Println(i)
time.Sleep(time.Second)
}
}
func printLetters() {
letters := []string{"A", "B", "C", "D", "E"}
for _, letter := range letters {
fmt.Println(letter)
time.Sleep(time.Second)
}
}
func main() {
// 启动两个goroutines
go printNumbers()
go printLetters()
// 等待一段时间确保两个goroutines运行完成
time.Sleep(6 * time.Second)
}
解释:
go
关键字启动一个新的goroutine
,这是一种轻量级的并发执行方式。time.Sleep()
用于模拟任务的延迟,确保主程序在goroutine执行时不立即退出。