首页 > 其他分享 >交替打印数字和字母

交替打印数字和字母

时间:2024-07-23 20:59:55浏览次数:15  
标签:goroutine struct 字母 打印 chan 交替 make

/*

问题描述
使用两个 goroutine 交替打印序列,一个 goroutine 打印数字, 另外一个 goroutine 打印字母, 最终效果如下:
12AB34CD56EF78GH910IJ1112KL1314MN1516OP1718QR1920ST2122UV2324WX2526YZ2728

*/


func QuestionOne() {
	numChan, letterChan := make(chan struct{}), make(chan struct{})
	wg := sync.WaitGroup{}

	go func() {
		i := 1
		for {
			select {
			case <-numChan:
				fmt.Print(i)
				i++
				fmt.Print(i)
				i++
				letterChan <- struct{}{}
			}
		}
	}()

	go func(wg *sync.WaitGroup) {
		i := 'A'
		for {
			select {
			case <-letterChan:
				if i >= 'Z' {
					wg.Done()
					return
				}
				fmt.Print(string(i))
				i++
				fmt.Print(string(i))
				i++
				numChan <- struct{}{}
			}
		}
	}(&wg)

	wg.Add(1)
	numChan <- struct{}{}
	wg.Wait()
}

标签:goroutine,struct,字母,打印,chan,交替,make
From: https://www.cnblogs.com/kafka-embracetheday/p/18319600

相关文章

  • 用C语言打印杨辉三角形:**
    用C语言打印杨辉三角形:1.杨辉三角形规律:1.每行数字左右对称,由1开始逐渐变大,然后变小,回到1。2.第n行的数字个数等于n,第n行的第一个和最后一个数字都是1。3.对于第i行,除首尾两个1之外,任意位置的数等于它肩上的两个数之和。即第i行第j个数等于第i-1行第j-1个数与第i-1行第......
  • 代码随想录算法训练营Day5、6 | Leetcode 242 有效字母的异位词 Leetcode 349 两个数
    前言因为昨天休息所以把两天合并成一天来写,昨天把上周的题又重写了一遍,发现一些细节还是要注意。今天的题目都是查找,也涉及到了最近正在学的STL。Leetcode242有效字母的异位词 题目链接:https://leetcode.cn/problems/valid-anagram/description/代码随想录题解:代码随想......
  • laravel: 调试打印sql
    一,代码:<?phpnamespaceApp\Models;useIlluminate\Database\Eloquent\Factories\HasFactory;useIlluminate\Database\Eloquent\Model;useIlluminate\Support\Facades\DB;classReadLogModelextendsModel{useHasFactory;//定义关联的数据表......
  • spring使用mysql数据库实现关键字别字、拼音、拼音首字母、拼音所有首字母组合搜索
    1、实现思路前端传入的文字、拼音、别字、拼音首字母、拼音所有首字母组合传入到后台,通过后台接口转成拼音,然后通过转换后的拼音结合sql语句查询匹配。2、后台实现pom配置:<!--中文转拼音--><dependency><groupId>com.belerweb</groupId><artifactId>pinyin4......
  • 用 range() 以相反的顺序打印列表?
    如何在Python中使用range()生成以下列表?[9,8,7,6,5,4,3,2,1,0]可以使用range(start,stop,step)函数在Python中生成一个以相反顺序排列的列表。start是起始值(包含在内)。stop是停止值(不包含在内)。......
  • 【代码随想录训练营第42期 Day6打卡 LeetCode 242.有效的字母异位词 349.两个数组的交
    目录一、序言二、哈希表的相关知识1.基本概念2.常见的哈希结构3.总结三、题目及其题解242.有效的字母异位词题目链接题解思路1思路2思路3349.两个数组的交集题目链接题解202.快乐数题目链接题解1.两数之和题目链接题解思路1思路2四、小结一、序言......
  • [十万个为什么] [lua] 打印table
    localfunctionprint_r(t) localprint_r_cache={} localfunctionsub_print_r(t,indent) if(print_r_cache[tostring(t)])then print(indent.."*"..tostring(t)) else print_r_cache[tostring(t)]=true if(type(t)=="table&qu......
  • 代码随想录day6 | 242 有效字母异位词 349 两个数组交际 202 快乐数 1 两数之和
    hash表遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法242判断字母异位词关于字符串的遍历问题//什么情况下遍历的是rune[]int36类型,什么情况下遍历的是char字节类型?s:="Hello,世界"fori,r:=ranges{ fmt.Printf("Index:%d,Rune:%c,......
  • vue3.0使用batchBarCode打印单个或当前页一维码
    1.在main.ts中导入importJsBarcodefrom'jsbarcode'//导入一维码插件app.component('JsBarcode',JsBarcode) 2.单个打印1<!--条形码-->2<el-dialogv-model="BarCodeVisible"width="60%"title="条形......
  • 运用Java打印金字塔
    1publicclassexercise05{2publicstaticvoidmain(String[]args){3//思路分析4//化繁为简5//1.打印一个矩形6//*****7//*****8//*****9//*****10//*****11//2.打印半个金字塔12//*//第一层有1个*13//**//......