はじめに

完了

Go がコンカレンシーに関するジョブに優れていると聞いたことがあるかもしれません。 Go の人気がこれほど高く、Docker、Kubernetes、Terraform などの他のソフトウェアを作成する際に選択されているのは、おそらく、この卓越した機能があるためです。

Go のコンカレンシーのしくみについて学習を始める前に、他のプログラミング言語からこれまでに学んだことを忘れる必要があるかもしれません。 Go のアプローチは独特です。

現時点で、皆さんはコンカレンシーなどの高度なトピックに対応するために必要な知識を既にお持ちです。 それでも、コンカレンシーが必要な理由の説明から始めます。 さまざまなトピックを少しずつ紹介します。

すべてのコード サンプルを使用して実習し、概念を十分に理解してから先に進むことをお勧めします。 前のモジュールで経験したように、実習によって概念の理解を深めることができます。

このモジュールで学習する内容を紹介します。

学習の目的

このモジュールでは、次のことについて学習します。

  • Go のコンカレンシーのしくみ。
  • コンカレンシーと並列処理の違い。
  • チャネルを使用した並行プログラムでの通信のしくみ。
  • コンカレンシーを実装することにより、より高速に実行されるプログラムを作成する方法。
  • 限られた数の同時呼び出しを開始するときに、バッファーを使用してコンカレンシーを利用できる動的プログラムを作成する方法。

必須コンポーネント

  • アプリケーションを作成できる状態の Go 環境。 ローカル環境に Go をインストールして構成してあり、Go 拡張機能を含む Visual Studio Code をインストールしてあるのが理想的です。
  • .go ファイルの作成と修正ができること。
  • ターミナル プロンプトを使用して Go アプリケーションを実行できること。
  • stringintboolean などの基本データ型の知識。
  • iffor ステートメントなどの基本的なデータ制御フローを記述する方法の知識。
  • 関数を記述する方法の知識。
  • net/http のようなライブラリを使用する方法の知識。