Go控制并发数量的几种方式
可以回答这个问题。以下是一个示例代码:
```go
package main
import "fmt"
func main() {
ch := make(chan int)
go func() {
for i := ; i < 10; i++ {
ch <- i
}
close(ch)
}()
for val := range ch {
fmt.Println(val)
}
}
```
这个示例代码展示了如何使用 channel 控制并发。在这个例子中,我们创建了一个整数类型的 channel,并在一个 goroutine 中向 channel 中发送了一些值。然后,在主 goroutine 中,我们使用 `range` 关键字来遍历 channel 中的值,并打印出来。需要注意的是,在发送完所有值之后,我们需要关闭 channel,以便接收方能够知道没有更多的值会被发送。