golang面试
发布时间:2020-12-16 18:06:01 所属栏目:大数据 来源:网络整理
导读:交替打印数字和字母 问题描述 使用两个 goroutine 交替打印序列,一个 goroutinue 打印数字, 另外一个goroutine打印字母, 最终效果如下 12AB34CD56EF78GH910IJ 。 package mainimport ("fmt""sync")func PrintNums(printChar chan int,wg *sync.WaitGroup)
交替打印数字和字母
package main import ( "fmt" "sync" ) func PrintNums(printChar chan int,wg *sync.WaitGroup) { defer wg.Done() for i := 0; i < 5; i++ { for j := 0; j < 2; j++ { fmt.Printf("%d",2*i+j+1) } printChar <- 1 <- printChar } } func PrintChars(printChar chan int,wg *sync.WaitGroup) { defer wg.Done() for i := 0; i < 5; i++ { <- printChar for j := 0; j < 2; j++ { fmt.Printf("%c",'A'+(2*i+j)) } printChar <- 1 } } func main() { flag := make(chan int) var wg sync.WaitGroup wg.Add(2) go PrintNums(flag,&wg) go PrintChars(flag,&wg) wg.Wait() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |