Points & Lines

【Go言語マスターへの道】第1章 Go言語の概要

はじめに

これまで業務においてPHPをメインの開発言語として使用してきた私が、Go言語の基礎を習得していく際に学んだ内容を複数回にわたってまとめていきます。

私のようにGo以外のプログラミング言語の経験者はもちろん、最初のプログラミング言語にGo言語を選択される方にとっても、有益なものになるように記事を書いていきたいと思います。

Go言語の概要について

Go言語の歴史と登場背景

Go言語は、Googleで開発が始まり、2012年にバージョン1.0がオープンソースとして公開されました。設計者らは、C++やJavaなどの既存の言語の欠点を克服し、効率的で使いやすい言語を目指して開発が行われました。

Go言語公式ドキュメント
https://go.dev/

特徴と強み

高いパフォーマンス

Go言語は従来のC言語やJavaなどと同じく、コンパイル型言語です。

PHP、Python、JavaScriptなど実行にインタプリタ方式を採用しているスクリプト型言語として比較して、コンパイル型言語は実行速度の面で優れており、より高パフォーマンスが期待できます。
(コンパイル型言語は実行前にビルドという作業によって、機械語に翻訳したバイナリファイルを生成する)

シンプルな文法で習得しやすい

Go言語はシンプルで直感的な構文を採用しており、他の言語と比較しても習得しやすいものとなっております。

また、Go言語のコーディングスタイルには強い一貫性が保たれており、例えば、場面に応じて柔軟なコーディングが行えるPHPのような言語と比較すると、誰が書いても同じようなコードになるため、読みやすく、保守性が高められるメリットが挙げられます。

ガベージコレクションを搭載

Go言語にはJavaにも搭載されているgarbage collection(ガベージコレクション)という、使わなくなったメモリを自動的に開放する機能が備わっています。

ガベージコレクションは動作の際に、アプリケーションが若干遅れてしまうという問題点がありますが、Go言語においてはこの遅れがなるべく小さくなるよう、バージョンアップごとに改善されているそうです。

並行処理が得意

Go言語はgoroutines(ゴルーチン)とChannel(チャネル)という標準の機能により、並行処理の実現が簡単に行えることも大きな強みとなっています。

Go言語の採用シーン

Go言語の採用場面についてですが、PHPなどと同様、Web開発のバックエンドはもちろん、コマンドラインインターフェース(CLI)やバッチ処理の開発などに用いられています。

Web開発では処理速度やスケールアップのために、従来の言語で開発されたシステムをGo言語に置き換えるケースも多く存在しているようです。

Go言語のセットアップ

Go言語のインストールおよびセットアップは以下の記事などを参考にしてください。

Go言語のインストールメモ(Windows, Mac)

次回以降、Goの基礎文法などを解説していきます。

Follow me!

モバイルバージョンを終了