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)}