package main

import "runtime"

func main() {
	// chan是channel的缩写，channel是一种特殊的类型
	// chan是一个关键字
	// chan和map , slice一样，是引用类型,
	// 参数传递时，传递的是地址
	// chan的零值是nil
	// 两个相同类型的channel可以用==比较，
	// 如果当他们引用的是同一个channel对象，或者都是nil，那么结果为true
	ch := make(chan int)
	ch <- 2
	go forEach(ch)
	runtime.GOMAXPROCS(8)
	forEach(nil)

}

func forEach(ch chan int) {
	for {
		println(<-ch)
	}
}
