Go に 2 つの値を返す関数があります。これをゴルーチンとして実行したいのですが、2 つの値を受け取るチャネルを作成するための構文がわかりません。誰かが私を正しい方向に向けることができますか?
38323 次
2 に答える
17
別のオプションは、次のような anon 関数を使用することです。
package main
import "fmt"
func f(c chan func() (int, string)) {
c <- (func() (int, string) { return 0, "s" })
}
func main() {
c := make(chan func() (int, string))
go f(c)
y, z := (<-c)()
fmt.Println(y)
fmt.Println(z)
}
https://gist.github.com/slav/ca2ee333c29b8f76b557c9b10b371b52へのクレジット
于 2018-06-14T12:10:26.867 に答える