Go 语言中的程(Goroutine)是一种轻量级的线程,可以在程序内部并发执行。相比于传统的线程,程的优势在于其轻量级,可以创建大量的程而不会导致系统负载过高。 在 Go 语言中,可以通过关键字 go 来创建一个程,例如: ``` func main() { go func() { fmt.Println("Hello, goroutine!") }() time.Sleep(1 * time.Second) // 等待程执行完成 } ``` 在上面的代码中,通过关键字 go 创建了一个匿名函数的程,该程会输出 "Hello, goroutine!"。由于程是异步执行的,因此需要使用 `time.Sleep()` 等待程执行完成。 除了使用关键字 go 创建程外,还可以使用 `sync.WaitGroup` 来等待多个程的执行完成,例如: ``` func main() { var wg sync.WaitGroup for i := 0; i < 10; i++ { wg.Add(1) // 添加一个程 go func(i int) { fmt.Printf("Hello, goroutine %d!\n", i) wg.Done() // 程执行完成 }(i) } wg.Wait() // 等待所有程执行完成 } ``` 在上面的代码中,使用 `sync.WaitGroup` 来等待 10 个程执行完成,每个程输出 "Hello, goroutine i!",其中 i 为程的编号。 总之,程是 Go 语言中非常重要的并发编程特性,可以大大提高程序的并发性能和可维护性。