Go では、関数をパイプライン経由でパラメーターとして渡すことができます。これを実現する手順は次のとおりです。 関数を受け取る Goroutine を定義します。呼び出し側のゴルーチンでパイプを作成し、そこに関数を送信します。
Go でパイプを介して関数パラメーターを渡す
Go では、パイプはプロセス間通信 (IPC) 同時実行の一種です。機構。パイプを介して、あるゴルーチンから別のゴルーチンにデータを送信できます。単純なデータ型を渡すだけでなく、パイプラインを介して関数をパラメーターとして渡すこともできます。
使用方法
関数をパイプライン経由でパラメーターとして渡すには、次の手順に従います。
コード例
package main import ( "fmt" "time" ) func main() { // 定义接收函数的 Goroutine go func() { for { // 从管道接收函数 fn := <-chanFunc // 执行函数 fn() } }() // 创建管道 chanFunc := make(chan func()) // 向管道发送函数 go func() { for { chanFunc <- func() { fmt.Println("Hello from function!") } time.Sleep(1 * time.Second) } }() // 保持主 Goroutine 运行 select {} }
実用的なケース
このコード例は、パイプを使用して関数を渡す方法を示しています。パラメータの転送。この特定のケースでは、パイプを通じてメッセージを出力する関数を引数として送信しています。このコードを実行すると、「Hello from function!」という連続出力が表示されます。
利点
パイプを介して関数をパラメータとして渡すことには、次の利点があります:
以上がパイプライン経由でパラメータを渡す golang 関数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。