我的 Go 代码中有非常奇怪的行为。总体要点是,当我有for { if messagesRecieved == l { break } select { case result := <-results: newWords[result.index] = result.word messagesRecieved += 1 default: // fmt.Printf("messagesRecieved: %v\n", messagesRecieved) if i != l { request := Request{word: words[i], index: i, thesaurus_word: results} requests <- request i += 1 } }}程序冻结并且无法前进,但是当我取消注释 fmt.Printf 命令时,程序运行正常。您可以在此处查看完整代码。有谁知道是什么导致了这种行为?
1 回答
- 1 回答
- 0 关注
- 175 浏览
添加回答
举报
0/150
提交
取消