CでもC++でもなくプログラミング言語「Go」を使いたくなる“あの良さ”とは?GoとRustを比較する【第1回】

プログラミング言語「Go」はマイクロサービスだけではなく、さまざまなプログラムの開発を支援する特徴を備える。開発者にとって、Goの何がうれしいのか。

2023年04月08日 10時30分 公開
[Kerry DoyleTechTarget]

 「Go」と「Rust」は、明確な構造と、プログラミングを支援するさまざまな機能を備えるプログラミング言語だ。「C」「C++」といった“老舗言語”に代わる、オープンソースの汎用(はんよう)プログラミング言語として、開発者の支持を集めている。

 GoとRustには似ている点と、そうではない点がある。両者の機能やアプリケーション開発における利点、一部の開発者にストレスを与えかねない欠点を解説する。

軽くてパワフルな「Go」の“あの魅力”

 「Golang」とも呼ばれるGoは、実行速度の高速性に加えて、ソースコードの簡潔さや読みやすさに重点を置いたプログラミング言語だ。コンパイル(ソースコードを実行可能ファイルに変換すること)の際、ソースコード内の変数や式(値や演算子、変数などの組み合わせ)の型をチェックする「静的型付け」を採用している。開発者がGoを活用する、代表的な開発対象は以下の通りだ。

  • コマンドラインインタフェース(CLI)ツール
  • サーバアプリケーション
  • ミドルウェア
  • マイクロサービス(独立した小規模サービス)

 Goは、プログラムの実行時に型の整合性を厳密にチェックする「強い型付け」言語なので、開発者はソースコードにおいて明確に型を指定する必要がある。こうすることで、開発者はソースコード内のエラーを特定しやすくなる。「配列」「スライス」「マップ」など、Go標準の型を使うことも可能だ。

 開発者はGoにおいて、メソッド(操作)の集合である「インタフェース」を定義することで、異なる型を持つ変数やクラス(メソッドとデータの集合)で同じメソッドを実装する手間を省略できる。これはソースコードの再利用性を高めることにつながる。軽量なスレッド(プログラムの実行単位)である「goroutine」を駆使することで、CPUをより効率的に利用できることも、Goの魅力だ。

 Goには、不要なメモリを自動的に解放する「ガベージコレクション」の機能が備わっている。ガベージコレクションは、Goプログラムの安定性と信頼性の向上に役立つ。


 第2回は、Goの制限を解説する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

ITmedia マーケティング新着記事

news191.jpg

Omnicomが Interpublic Groupを買収 世界最大級の広告会社が誕生へ
OmnicomがInterpublic Group(IPG)を買収する。これにより、世界最大の広告会社が誕生し...

news110.jpg

インテントデータ×キーエンス出身者のノウハウで実現 ABMを先に進める最先端の営業手法とは?
ユーソナーとGrand Centralは提携し、営業売り上げ拡大のためのBPOパッケージを提供開始...

news061.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2024年12月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...