mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 06:23:59 +08:00
fix: coding style and file format for chapter 11, 12, 13, 14 and 15.
This commit is contained in:
@@ -1,42 +1,43 @@
|
||||
// goroutines2.go
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
// integer producer:
|
||||
func numGen(start, count int, out chan<- int) {
|
||||
for i := 0; i < count; i++ {
|
||||
out <- start
|
||||
start = start + count
|
||||
}
|
||||
close(out)
|
||||
}
|
||||
|
||||
// integer consumer:
|
||||
func numEchoRange(in <-chan int, done chan<- bool) {
|
||||
for num := range in {
|
||||
fmt.Printf("%d\n", num)
|
||||
}
|
||||
done <- true
|
||||
}
|
||||
|
||||
func main() {
|
||||
numChan := make(chan int)
|
||||
done := make(chan bool)
|
||||
go numGen(0, 10, numChan)
|
||||
go numEchoRange(numChan, done)
|
||||
|
||||
<-done
|
||||
}
|
||||
/* Output:
|
||||
0
|
||||
10
|
||||
20
|
||||
30
|
||||
40
|
||||
50
|
||||
60
|
||||
70
|
||||
80
|
||||
90
|
||||
*/
|
||||
// goroutines2.go
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
// integer producer:
|
||||
func numGen(start, count int, out chan<- int) {
|
||||
for i := 0; i < count; i++ {
|
||||
out <- start
|
||||
start = start + count
|
||||
}
|
||||
close(out)
|
||||
}
|
||||
|
||||
// integer consumer:
|
||||
func numEchoRange(in <-chan int, done chan<- bool) {
|
||||
for num := range in {
|
||||
fmt.Printf("%d\n", num)
|
||||
}
|
||||
done <- true
|
||||
}
|
||||
|
||||
func main() {
|
||||
numChan := make(chan int)
|
||||
done := make(chan bool)
|
||||
go numGen(0, 10, numChan)
|
||||
go numEchoRange(numChan, done)
|
||||
|
||||
<-done
|
||||
}
|
||||
|
||||
/* Output:
|
||||
0
|
||||
10
|
||||
20
|
||||
30
|
||||
40
|
||||
50
|
||||
60
|
||||
70
|
||||
80
|
||||
90
|
||||
*/
|
||||
|
Reference in New Issue
Block a user