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.

新着ホワイトペーパー

製品資料 ServiceNow Japan合同会社

生成AIで「ローコード開発」を強化するための4つの方法

ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。

製品資料 ServiceNow Japan合同会社

「ローコード開発」実践のヒント:AI主導のイノベーションに向けた4つの戦略

急速に変化する顧客ニーズに応えるような適切な製品を継続的に提供するためには、より多くのアプリを生み出す必要があるが、そのための開発者が不足している。そこで注目されているのが、生成AIやローコード開発プラットフォームだ。

製品資料 ServiceNow Japan合同会社

ローコードによるアプリ開発と高度な自動化で成功を収めるためのポイントとは?

あらゆる組織は、従業員と消費者の双方に良質なエクスペリエンスを提供する義務を負っている。アプリ開発と高度な自動化は、この目的を達成するための有効策の1つだが、それぞれを適切に実装できなければ、むしろリスク要因ともなり得る。

製品資料 サイボウズ株式会社

「ERP×ノーコードツール」のアプローチを推進するためのポイントとは?

DXが進み、レガシーシステムからの脱却が喫緊の課題となっている今。「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増えている。そのアプローチを推進するに当たってのポイントを解説する。

事例 サイボウズ株式会社

ローコード/ノーコード開発ツールで実現する、変化に強い組織の作り方

DXの本質は、デジタル技術を駆使して変化に適応する能力を身につけることにある。その手段の1つとして注目を集めているのが、ローコード/ノーコード開発ツールだ。京王グループなどの事例とともに、その特徴やメリットを紹介する。

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

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

news023.png

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

news025.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。

news014.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。