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-21
- Ruby3多线程并行Ractor使用方法详解 2023-07-23
- R语言 ggplot2改变柱状图的顺序操作 2022-11-17
- ruby-on-rails-为使用Rails 4,nginx和乘客的用户设置自定义域 2023-09-21
- Swift初始化器与可选链的使用方法介绍 2023-07-08
- win10下使用virtualbox + vagrant配置ruby开发机环境 2023-07-23
- 浅析ELF转二进制允许把 Binary 文件加载到任意位置 2023-07-06
- ruby on rails validates 2023-09-22
- Swift中重写和重载的使用与对比总结 2023-07-05
- R语言-修改(替换)因子变量的元素操作 2022-11-26
