mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 03:06:41 +08:00
31 lines
372 B
Go
Executable File
31 lines
372 B
Go
Executable File
// Q20b_goroutine.go
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func tel(ch chan int, quit chan bool) {
|
|
for i := 0; i < 15; i++ {
|
|
ch <- i
|
|
}
|
|
quit <- true
|
|
}
|
|
|
|
func main() {
|
|
var ok = true
|
|
ch := make(chan int)
|
|
quit := make(chan bool)
|
|
|
|
go tel(ch, quit)
|
|
for ok {
|
|
select {
|
|
case i := <-ch:
|
|
fmt.Printf("The counter is at %d\n", i)
|
|
case <-quit:
|
|
os.Exit(0)
|
|
}
|
|
}
|
|
}
|