diff --git a/examples/closing-channels/closing-channels.sh b/examples/closing-channels/closing-channels.sh index 013f8a8..0eaee06 100644 --- a/examples/closing-channels/closing-channels.sh +++ b/examples/closing-channels/closing-channels.sh @@ -1,11 +1,11 @@ $ go run closing-channels.go sent job 1 -received job 1 sent job 2 -received job 2 sent job 3 -received job 3 sent all jobs +received job 1 +received job 2 +received job 3 received all jobs # The idea of closed channels leads naturally to our next diff --git a/public/closing-channels b/public/closing-channels index e4c94f5..b138588 100644 --- a/public/closing-channels +++ b/public/closing-channels @@ -1,97 +1,92 @@
- +
- Closing a channel indicates that no more values -will be sent on it. This can be useful to communicate -completion to the channel’s receivers. - - |
-
-
-
+ + Closing a channel indicates that no more values will be + sent on it. This can be useful to communicate completion to the + channel’s receivers. + |
+ |
- - | +
- ![]() ![]() package main + |
|
- - | +
-
- import "fmt" +import "fmt" |
|
- In this example we’ll use a
+ In this example we’ll use a |
-
- +func main() { jobs := make(chan int, 5) done := make(chan bool) |
|
- Here’s the worker goroutine. It repeatedly receives
-from
+ Here’s the worker goroutine. It repeatedly receives from
+ |
-
- +go func() { for { j, more := <-jobs @@ -107,16 +102,16 @@ all our jobs. |
|
- This sends 3 jobs to the worker over the
+ This sends 3 jobs to the worker over the
+ |
-
- +for j := 1; j <= 3; j++ { jobs <- j fmt.Println("sent job", j) @@ -126,73 +121,81 @@ channel, then closes it. |
|
- We await the worker using the -synchronization approach -we saw earlier. - ++ We await the worker using the + synchronization approach we + saw earlier. + |
-
- +<-done } |
- - | +
-
- $ go run closing-channels.go +$ go run closing-channels.go sent job 1 -received job 1 sent job 2 -received job 2 sent job 3 -received job 3 sent all jobs +received job 1 +received job 2 +received job 3 received all jobs |
|
- The idea of closed channels leads naturally to our next
-example: |
-
-
-
+
+ The idea of closed channels leads naturally to our next example:
+ |
+
Next example: Range over Channels.
- - - +