Go 速習チュートリアル

Go 言語入門

1. Goとは?

Goは、クロスプラットフォームに対応したオープンソースのプログラミング言語です。

  • Goは、ハイパフォーマンスなアプリケーションの構築に適しています。
  • Goは、そのシンプルさと効率性の高さで知られる、高速な静的型付け(Statically typed)のコンパイル言語です。
  • Goは、2007年にGoogleのRobert Griesemer、Rob Pike、およびKen Thompsonによって開発されました。
  • Goのシンタックス(構文)はC++に似ています。

2. Goの主な用途

Goは以下のようなシーンで活用されています:

  • Web開発(サーバーサイド)
  • ネットワークベースのプログラムの開発
  • クロスプラットフォームなエンタープライズアプリケーションの開発
  • クラウドネイティブ開発

3. なぜGoを使うのか?

  • Goは学習が楽しく、習得が容易です。
  • ランタイムおよびコンパイル時間が非常に高速です。
  • コンカレンシー(並行処理)をサポートしています。
  • メモリ管理機能を備えています。
  • 様々なプラットフォーム(Windows、Mac、Linux、Raspberry Piなど)で動作します。

4. Go、Python、C++の比較

特徴GoPythonC++
型付け静的型付け動的型付け静的型付け
実行速度高速低速高速
実行方式コンパイル言語インタプリタ言語コンパイル言語
コンパイル速度高速N/A(インタプリタ)低速
並行処理ゴルーチン(goroutines)とチャネル(channels)によるサポート標準的な並行処理メカニズムは未搭載スレッド(threads)によるサポート
メモリ管理自動ガーベジコレクションあり自動ガーベジコレクションあり自動ガーベジコレクションなし
クラスとオブジェクト非対応対応対応
継承非対応対応対応

5. 用語の補足

  • コンパイル時間(Compilation time): コードを実行可能なプログラム(実行ファイル)に変換する際にかかる時間を指します。
  • コンカレンシー(Concurrency/並行処理): 最終的な結果に影響を与えることなく、複数の処理を順不同、あるいは同時に実行することを指します。
  • 静的型付け(Statically typed): 変数(Variables)の型がコンパイル時に決定されている状態を指します。