Hello Concurrency
0から順番に整数を生成する無名関数それを受け取ってresultに追加する処理が並行して処理されてるってことだと思います。go (処理)で処理がバックグラウンドで行われ、その処理結果がch(チャンネル)を通して得られるっと。
package main import "fmt" func main() { ch := make(chan int) go func() { for i := 0; ; i++ { ch <- i } }() result := "" for i := 0; i < 10; i++ { result += fmt.Sprintf("%d, ", <-ch) } fmt.Printf("%s\n", result[:len(result)-2]) //=> "1, 2, 3, 4, 5, 6, 7, 8, 9\n" }