複数の機能を並列に実行する必要があります。
関数がtrue
(チャネルにtrue
を送信する)を返す場合でも、最終結果はtrue
である必要があります。ゴランのチャンネルにつきました
これを達成するにはどうすればよいのですか?
// Some performance intensive function
func foo(i int, c chan bool) {
// do some processing and return either true or false
c <- true // or false
}
func main() {
flg := false
ch := make(chan bool)
for i := 0; i < 10; i++ {
go foo(i, ch)
}
// If even once foo() returned true then val should be true
flg = flg || <-ch
}
「チャンネルを使用してこれを達成するにはどうすればよいですか? ---あなたはそれのためのチャネルを使用する必要があります何らかの理由は? – zerkms
お試しください。あなたのコードはチャンネルをまったく使用しません。 – Flimzy
(あなたのコードは書かれているように読みにくいので、 'gofmt'を使うことをお勧めします) – Flimzy