MST

星途 面试题库

面试题:Go语言中如何使用for循环结合goroutine实现简单的并发任务

请编写Go代码,利用for循环创建多个goroutine,每个goroutine打印自己的编号,模拟并发任务执行。并且使用sync.WaitGroup来等待所有goroutine完成。
40.2万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
    "sync"
)

func main() {
    var wg sync.WaitGroup
    numGoroutines := 5

    for i := 0; i < numGoroutines; i++ {
       wg.Add(1)
       go func(id int) {
          defer wg.Done()
          fmt.Printf("Goroutine %d is running\n", id)
       }(i)
    }

    wg.Wait()
    fmt.Println("All goroutines have finished")
}