问题:
go语言开启3个协程,分别按顺序打印出100次的cat,dog,mouse,如结果为

dog
cat
mouse
dog
cat
mouse

package main

import "fmt"

var quit chan int

func main() {
	var chDog chan int
	var chCat chan int
	var chMouse chan int
	quit = make(chan int)
	chDog = make(chan int)
	chCat = make(chan int)
	chMouse = make(chan int)
	go showDog(chDog, chCat)
	go showCat(chCat, chMouse)
	go showMouse(chMouse, chDog)
	chDog <- 1
	<-quit
}

func showDog(now chan int, next chan int) {
	count := 0
	for {
		if count >= 100 {
			quit <- 1
			return
		}
		<-now
		fmt.Println("dog")
		count++
		next <- 1
	}

}
func showCat(now chan int, next chan int) {
	count := 0
	for {
		if count >= 100 {
			return
		}
		<-now
		fmt.Println("cat")
		count++
		next <- 1
	}

}
func showMouse(now chan int, next chan int) {
	count := 0
	for {
		if count >= 100 {

			return
		}
		<-now
		fmt.Println("mouse")
		count++
		next <- 1
	}

}