pass_channels.go raw

   1  package main
   2  
   3  func main() {
   4  	// Channels work within a domain
   5  	ch := make(chan int32, 1)
   6  	ch <- 42
   7  	v := <-ch
   8  	if v == 42 {
   9  		println("PASS: buffered channel")
  10  	} else {
  11  		println("FAIL: buffered channel")
  12  	}
  13  
  14  	// Select statement
  15  	ch2 := make(chan int32, 1)
  16  	ch2 <- 99
  17  	select {
  18  	case val := <-ch2:
  19  		if val == 99 {
  20  			println("PASS: select")
  21  		} else {
  22  			println("FAIL: select")
  23  		}
  24  	default:
  25  		println("FAIL: select took default")
  26  	}
  27  }
  28