オープンソースの Go プロジェクトをいくつか読んでいると、次のように実装されているコードがたくさんあることがわかりました。 リーリー
上記のコードでは、内部関数go func...(id, s) は不要と思われます。言い換えると、次のコードを書いた場合、何が違うでしょうか:
for id, s := range subscribers { go func(id string, s *hellosaidsubscriber) { select { case <-s.stop: unsubscribe <- id return default: } select { case <-s.stop: unsubscribe <- id case s.events <- e: case <-time.after(time.second): } }(id, s) }
匿名関数 goキーワードです。
goroutine、Go の同時実行モードです。したがって、匿名関数 (ゴルーチン) 内のコードは同時に処理されます。
匿名関数は、名前を含まない関数です。インライン関数を作成する場合によく使用されます。クロージャーを形成することができます。匿名関数は、
関数リテラルとも呼ばれます。
以上がなぜ人々は golang で組み込み関数を使用するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。