实例目标:

演示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执行时不立即退出。

应用场景: