最近发布的主题
最近发布的文章
最近分享的资源
暂无
最近发布的项目
暂无
最近的评论
-
评论了主题 goroutine?谁能帮忙解释一下这是为什么?``` package main import "fmt" func main(){ fmt.Println("start") println(3) println(2) println(1) fmt.Println("end") } ``` 我这样试了一下,3.2.1会按顺序输出,start和end会随机打印,原因不明
-
#31楼 @lihui7800 很不错 想法独特新颖 令人眼前一亮 但是题目要的是数字和字母要分别在两个go程中被打印出来
-
#25楼 @didadi //重新发一下 ``` package main import ( "fmt" "sync" ) func PrintA(arra []int64){ for i,v:=range arra{ fmt.Println(v) ch<-i lock<-true } sg.Done() } func PrintB(arrb []string) { for { j:=<-ch if j<len(arrb) { fmt.Println(arrb[j]) <-lock }else { <-lock } } } var sg sync.WaitGroup var ch =make(chan int) var lock=make(chan bool) func main(){ arra := []int64{1,2,3,4} arrb := []string{"a","b","c","d","e"} sg.Add(1) go PrintA(arra) go PrintB(arrb) sg.Wait() } ```