GoはGoogleが開発したコンパイル型のプログラミング言語です。
C言語のようなシンプルと実行速度を持ちながら、GC(ガベージコレクション)や強力な並行処理機能を備えています。
本記事では、Go言語の概要と特徴について紹介します。
Go言語の概要と特徴を紹介します
- Go言語の概要
- Go言語の特徴
- Go言語でできること
Go言語とは
Go(Golang)はGoogleが開発したオープンソースのプログラミング言語です。
Goが生まれた背景には、Googleが抱えていた”大規模なコードベースでのビルドの遅さ”、”依存関係の複雑さ”、”並行処理の書きにくさ”という課題がありました。
Go言語は機能を増やす方向ではなく、機能を削ることで設計されています。
Go言語のキーワードは少なく、シンプルにプログラムを記述することができます。
他のプログラミング言語と比較して、速度が早いことも特徴の一つです。
Go言語はオープンソースなので、無料で利用できます。
Go言語の特徴
Go言語の特徴を紹介します。
静的型付け
C言語やJavaと同様に、静的に型を定義する必要があります。
メリットとしては、実行時に型エラーが発生しないことです。
コンパイル型
実行前にコンパイルを行う必要がります。
Go言語のコンパイルは速度が早いため、ストレスなく事項ファイルを作成することができます。
ガーベージコレクション
未使用になったメモリ領域を、自動に解放して再利用する機能が、ガーベージコレクション(GC)です。
C言語のように、メモリを取得/解放する必要がなく、メモリ破壊のバグが起こりにくい設計となっています。
並行処理が組み込まれている
Go言語では、標準で並行処理の機能が組み込まれています。
標準ライブラリが充実
Go言語で利用できる標準ライブラリは豊富にあるため、外部ライブラリに依存することなく開発を進めることができます。
単一バイナリで配布可能
コンパイルすると、依存ライブラリを含んだ1つの実行ファイルが生成されます。
1つの実行ファイルを配布するだけで、他の環境でも実行することができます。
Go言語のインストール
Go言語のインストール方法を紹介します。
関連パッケージのインストール
関連パッケージをインストールします。
コマンドライン
sudo apt update
sudo apt install -y curlコマンド実行例
$ sudo apt update
[sudo] password for user:
Get:1 https://cli.github.com/packages stable InRelease [3917 B]
Get:2 https://download.docker.com/linux/ubuntu jammy InRelease [48.5 kB]
Hit:3 http://ports.ubuntu.com jammy InRelease
Hit:4 http://ports.ubuntu.com jammy-updates InRelease
Hit:5 http://ports.ubuntu.com jammy-security InRelease
Hit:6 http://ports.ubuntu.com jammy-backports InRelease
Fetched 52.4 kB in 3s (17.8 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
60 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ sudo apt install -y curl build-essential
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
curl is already the newest version (7.81.0-1ubuntu1.25).
0 upgraded, 0 newly installed, 0 to remove and 60 not upgraded.Go言語のインストール
Go言語をインストールします。
コマンドライン
curl -fsSLO https://go.dev/dl/go1.26.5.linux-arm64.tar.gz
sudo tar -C /usr/local -xzf go1.26.5.linux-arm64.tar.gz
rm go1.26.5.linux-arm64.tar.gzコマンド実行例
$ curl -fsSLO https://go.dev/dl/go1.26.5.linux-arm64.tar.gz
$ sudo tar -C /usr/local -xzf go1.26.5.linux-arm64.tar.gz
[sudo] password for user:
$ rm go1.26.5.linux-arm64.tar.gzパスを通す
パスを通します。
コマンドライン
echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc
export PATH=/usr/local/go/bin:$PATHコマンド実行例
$ echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc
$ export PATH=/usr/local/go/bin:$PATHGo言語のインストールを確認
Go言語のインストールを確認します。
コマンドライン
go versionコマンド実行例
$ go version
go version go1.26.5 linux/arm64まとめ
Go言語の概要と特徴を紹介しました。
- コンパイル型のプログラミング言語
- 文法がシンプルなため学習コストが低い
- 静的定義が必要
- 処理速度が高速
- 標準ライブラリが豊富
Go言語は、シンプルな文法となライブラリによって、初心者からエキスパートまで幅広い層に利用されています。
静的定義が必要で、コンパイル型のプログラミング言語なため、実行時のエラーを起こさない仕組みが取られています。
Go言語を学んで、高度なプログラミングができるエンジニアになりましょう。
