package mainimport (fmtsync)var wg sync.WaitGroupfunc letter(ch chan string) {defer wg.Done()for i:=0; i26; i++{ch - fmt.Sprintf(%c, A+i)}close(ch)}func number(ch chan int) {defer wg.Done(...

package main import ( "fmt" "sync" ) var wg sync.WaitGroup func letter(ch chan string) { defer wg.Done() for i:=0; i<26; i++{ ch <- fmt.Sprintf("%c", 'A'+i) } close(ch) } func number(ch chan int) { defer wg.Done() for i:=1; i<29; i++{ ch <- i } close(ch) } func main() { leChar := make(chan string, 26) intChar := make(chan int, 28) wg.Add(3) go letter(leChar) go number(intChar) go func() { defer wg.Done() for i := range intChar{ fmt.Printf("%d%d%s%s",i,<-intChar, <-leChar, <-leChar) } }() wg.Wait() }
? ?
沃梦达教程
本文标题为:go 实现两个goroutine交替执行打印数字和字母


猜你喜欢
- R语言关于二项分布知识点总结 2022-11-30
- Ruby 迭代器知识汇总 2023-07-23
- Golang http.Client设置超时 2023-09-05
- 汇编语言程序设计之根据输入改变屏幕颜色的代码 2023-07-06
- R语言绘图数据可视化pie chart饼图 2022-12-10
- Go Web开发进阶实战(gin框架) 2023-09-06
- Ruby的字符串与数组求最大值的相关问题讨论 2023-07-22
- Swift超详细讲解指针 2023-07-08
- Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
- R语言-如何切换科学计数法和更换小数点位数 2022-11-23