我有一些这样的代码:
go func(ch chan bool) chan bool {
// some processing
ch <- true
return ch
}(ch)
for i := 0; i < TotalQuestions; i++ {
// check if channel ch has some value
// If it has then execute below statements, else break out of the loop
fmt.Println(questions[i])
answer, _ := InputReader.ReadString('\n')
// some processing
}
fmt.Println("Your Total score is " + strconv.Itoa(TotalScore) + " out of " + strconv.Itoa(TotalQuestions))
现在我要做的是检查通道 ch 是否有值(在 for 循环中)。如果它有一个值,那么我想跳出 for 循环来打印最后一条语句。否则,我想继续我的循环。我试图插入选择块,但没有用(通道被阻塞,代码没有打印问题)。怎么做?
犯罪嫌疑人X
翻翻过去那场雪
相关分类