golang 管制gorountine程序执行

package mainimport (    "fmt")func main() {    sort()}func sort() error {    var count int    capChan := 100    exit := make(chan int, capChan)    for i := 0; i < capChan; i++ {        flag := make(chan int)        go func(i int) {            exit <- i            flag <- i        }(i)        <-flag    }LOOP:    for {        select {        case msg, ok := <-exit:            count++            fmt.Println("---", msg, ok)            break        default:            if count >= capChan {                break LOOP            }        }    }    defer func() {        close(exit)    }()    return nil}