github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/talks/2013/advconc/nilselect/nilselect.go (about) 1 // +build OMIT 2 3 package main 4 5 import ( 6 "fmt" 7 "math/rand" 8 "time" 9 ) 10 11 func init() { 12 rand.Seed(time.Now().UnixNano()) 13 } 14 15 func main() { 16 a, b := make(chan string), make(chan string) 17 go func() { a <- "a" }() 18 go func() { b <- "b" }() 19 if rand.Intn(2) == 0 { 20 a = nil // HL 21 fmt.Println("nil a") 22 } else { 23 b = nil // HL 24 fmt.Println("nil b") 25 } 26 select { 27 case s := <-a: 28 fmt.Println("got", s) 29 case s := <-b: 30 fmt.Println("got", s) 31 } 32 }