You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
// - A send to a nil channel blocks forever
|
|
|
|
var c chan string
|
|
|
|
c <- "Hello, World!"
|
|
|
|
// fatal error: all goroutines are asleep - deadlock!
|
|
|
|
|
|
|
|
// - A receive from a nil channel blocks forever
|
|
|
|
var c chan string
|
|
|
|
fmt.Println(<-c)
|
|
|
|
// fatal error: all goroutines are asleep - deadlock!
|
|
|
|
|
|
|
|
// - A send to a closed channel panics
|
|
|
|
var c = make(chan string, 1)
|
|
|
|
c <- "Hello, World!"
|
|
|
|
close(c)
|
|
|
|
c <- "Hello, Panic!"
|
|
|
|
// panic: send on closed channel
|
|
|
|
|
|
|
|
// - A receive from a closed channel returns the zero value immediately
|
|
|
|
var c = make(chan int, 2)
|
|
|
|
c <- 1
|
|
|
|
c <- 2
|
|
|
|
close(c)
|
|
|
|
for i := 0; i < 3; i++ {
|
|
|
|
fmt.Printf("%d ", <-c)
|
|
|
|
}
|
|
|
|
// 1 2 0
|