我需要並行運行多個函數。
如果函數返回true
(在通道上發送true
),那麼最終結果應該是true
。與golang中的通道卡住
如何使用goroutines和通道實現此目的?
// 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