package main
import(
"fmt"
// "time"
// "strconv"
//"runtime"
)
func writeDog(dogChan chan string){
dog := "dog"
for i:=1;i<=3;i++{
dogChan<- dog
}
close(dogChan)
}
func writeCat(catChan chan string){
cat := "cat"
for i:=1;i<=3;i++{
catChan<- cat
}
close(catChan)
}
func writeFish(fishChan chan string){
fish := "fish"
for i:=1;i<=3;i++{
fishChan<- fish
}
close(fishChan)
}
func main(){
//三个管道
dogChan := make(chan string ,3)
catChan := make(chan string ,3)
fishChan := make(chan string ,3)
//三个执行方法
go writeDog(dogChan)
go writeCat(catChan)
go writeFish(fishChan)
//打印值
for{
dog, ok := <-dogChan
if !ok{
break
}
fmt.Println("打印=》",dog)
}
//打印值
for{
cat, ok := <-catChan
if !ok{
break
}
fmt.Println("打印=》",cat)
}
//打印值
for{
fish, ok := <-fishChan
if !ok{
break
}
fmt.Println("打印=》",fish)
}
fmt.Println("主线程完毕")
}
最终按照要求输出结果