少し古いですが、Rob Pikeの並行処理デザインパターンのビデオで取り上げられたコードまとめです。 オリジナルのソースコードはこちらで見れます。 Generator ジェネレータ package main import ( "fmt" "math/rand" "time" "runtime" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) rand.Seed(time.Now().UnixNano()) c := boring("boring!") // Function returning a channel. for i := 0; i < 5; i++ { fmt.Printf("You say: %q\n", <-c) } fmt.Println("You're boring: I'm leaving.") } func