package main
import"fmt"funcmain(){
c :=make(chanint)gofunc(){for i :=0;i <5;i++{
c <- i
}//close 关闭一个 channelclose(c)}()//for {// //ok 如果为true,表示 channel 没有关闭,如果为false,表示channel已经关闭// if data,ok := <-c; ok{// fmt.Println(data)// } else {// break// }////}//可以使用range来迭代不断操作chnanelfor data :=range c {
fmt.Println(data)}
fmt.Println("Main Finished....")}
package main
import"fmt"funcfibonaci(c,quit chanint){
x,y :=1,1for{select{case c <- x://如果c可写,则该case就会进来
x = y
y = x + y
case<-quit:
fmt.Println("quit")return}}}funcmain(){
c :=make(chanint)
quit :=make(chanint)//sub gogofunc(){for i :=0;i <3;i++{
fmt.Print(<-c)}
quit <-0}()//main gofibonaci(c,quit)}