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
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于