Я ищу, чтобы запустить неизвестное количество горутин. В этом примере добавление к каналу number
. Затем читайте сообщения с канала messages
по мере их поступления.
Почему я вижу только одно сообщение, когда ожидаю увидеть все 100 сообщений в этом коде? Как просмотреть сообщения для всех добавленных номеров?
Go Детская площадка
package main
import (
"fmt"
)
func Run(numbers chan int, messages chan string) {
stuff := <-numbers
messages <- fmt.Sprintf("Ran %d", stuff)
}
func main() {
var numbers = make(chan int)
var messages = make(chan string)
go Run(numbers, messages)
for i := 0; i < 100; i++ {
go func(i int) { numbers <-i }(i)
}
msg := <-messages
fmt.Println(msg)
}