2017-07-16 19 views

答えて

0

非同期(async)/コンフィギュレーションの同期で、それを呼び出すための任意のベストプラクティスは一例であります:あなたは、バッファチュートリアル、チャンネルを、従っている場合https://gobyexample.com/goroutines

チャンネルと同期化されたチャンネルを使用すると、データを返すことができます。

例2:https://tour.golang.org/concurrency/1

例3:http://www.golangbootcamp.com/book/concurrency

TL; DR:ここで、あなたのパターンがある:

package main 

import "fmt" 

func sum(a []int, c chan int) { 
    sum := 0 
    for _, v := range a { 
     sum += v 
    } 
    c <- sum // send sum to c 
} 

func main() { 
    a := []int{7, 2, 8, -9, 4, 0} 

    c := make(chan int) 
    go sum(a[:len(a)/2], c) 
    go sum(a[len(a)/2:], c) 
    x, y := <-c, <-c // receive from c 

    fmt.Println(x, y, x+y) 
} 
関連する問題