github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/tests/backup/chan5.gno (about) 1 package main 2 3 import "time" 4 5 func main() { 6 // For our example we'll select across two channels. 7 c1 := make(chan string) 8 c2 := make(chan string) 9 10 // Each channel will receive a value after some amount 11 // of time, to simulate e.g. blocking RPC operations 12 // executing in concurrent goroutines. 13 go func() { 14 // time.Sleep(1 * time.Second) 15 time.Sleep(1e9) 16 c1 <- "one" 17 }() 18 go func() { 19 time.Sleep(2e9) 20 c2 <- "two" 21 }() 22 23 msg1 := <-c1 24 println(msg1) 25 26 msg2 := <-c2 27 println(msg2) 28 }