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交替执行打印数字和字母


基础教程推荐
猜你喜欢
- ruby-on-rails-使用Nginx的Rails的多阶段环境 2023-09-21
- R语言-如何将科学计数法表示的数字转化为文本 2022-11-23
- Go web部署报错panic: listen tcp xxxxxxx:8090: bind: cannot assign requested address 2023-09-05
- swift版webview加载网页进度条效果 2023-07-05
- R语言基于Keras的MLP神经网络及环境搭建 2022-12-10
- R语言数可视化Split violin plot小提琴图绘制方法 2022-12-10
- swift 字符串String的使用方法 2023-07-05
- R包ggtreeExtra绘制进化树 2022-12-14
- UEFI开发基础HII代码示例 2023-07-07
- asm基础——汇编指令之in/out指令 2023-07-06