package main
import ( "fmt" "sync" "time" ) func main() { wg := &sync.WaitGroup{} ch1 := make(chan int) ch2 := make(chan int) wg.Add(2) go say(wg, ch2, ch1) go say1(wg, ch1, ch2) wg.Wait() time.Sleep(1 * time.Second) } func say(wg *sync.WaitGroup, ch2 chan int, ch1 chan int) { defer wg.Done() for i := 1; i <= 10; i++ { ch2 <- 2*i - 1 fmt.Println(<-ch1) } } func say1(wg *sync.WaitGroup, ch1 chan int, ch2 chan int) { defer wg.Done() for i := 1; i <= 10; i++ { fmt.Println(<-ch2) ch1 <- 2 * i } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于