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 コマンドのコメントを外すと、プログラムは正常に動作します。ここでコード全体を見ることができます。誰かがこの動作の原因を知っていますか?