mirror of
https://github.com/SourceFellows/gobuch.git
synced 2025-07-20 07:02:53 +02:00
initial import
This commit is contained in:
31
concurrency/channel-mit-close/main.go
Normal file
31
concurrency/channel-mit-close/main.go
Normal file
@ -0,0 +1,31 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
var c chan string
|
||||
|
||||
func printOut() {
|
||||
for i := 1; i < 10; i++ {
|
||||
c <- fmt.Sprintf("Print %v", i)
|
||||
time.Sleep(time.Duration(rand.Intn(500)) * time.Millisecond)
|
||||
}
|
||||
close(c)
|
||||
}
|
||||
|
||||
func main() {
|
||||
c = make(chan string)
|
||||
go printOut()
|
||||
|
||||
for {
|
||||
t, open := <-c
|
||||
if open {
|
||||
fmt.Println(t)
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user