WAT Note(III).

Go言語に入門してみた

Tatsuroh Wakasugi
Tatsuroh Wakasugi

バックエンド用の言語として、新しく Go を始めてみようと思い、環境構築から簡単なコードの実行方法までをやってみたので書き記してみた。

環境情報

本記事では、以下の環境を前提とする。

  • Go バージョン: Go 1.24.1(本記事公開時点の最新安定版)
  • OS:macOS 13.6.5
  • エディタ:Visual Studio Code + Go 拡張機能

最新の Go バージョンは公式サイト1で確認できます。

Go とは?

Go 言語は 2009 年に Google によって開発され、シンプルさ、効率性、そして並行処理の容易さを特徴としているプログラミング言語です。

Go は静的型付け言語でありながら、動的型付け言語のような書きやすさも兼ね備えています。

Go の主な特徴

Go の特徴としては以下があります。

  1. シンプルな構文: 他の言語と比べて、Go の構文はシンプルで学びやすいです。
  2. 高速なコンパイル: コンパイル時間が非常に短く、開発効率が向上します。
  3. 静的型付け: コンパイル時に型チェックが行われるため、多くのバグを事前に防ぐことができます。
  4. ガベージコレクション: メモリ管理を自動的に行うため、開発者はメモリリークを心配する必要がありません。
  5. 並行処理のサポート: Goroutine とチャネルにより、並行処理が容易に実装できます。
  6. クロスコンパイル: 異なる OS 向けのバイナリを簡単に生成できます。
  7. 標準ライブラリが充実: Web サーバー、JSON パーサー、暗号化など、多くの機能が標準ライブラリに含まれています。

Go のインストール

それでは、実際に Go をインストールして使ってみましょう。インストール方法はいくつかあるので紹介します。

  1. Homebrew を使う場合

以下のコマンドで go をインストールできます。

brew install go
  1. インストーラを使う場合
  • Go 公式ダウンロードページ2から macOS 用のパッケージをダウンロード(他 OS 用のもあります)
  • ダウンロードしたパッケージを開き、指示に従ってインストール

両方ともに終了後、ターミナルでgo versionコマンドを実行し、インストールされているかを確認してください。

バージョンが出力されれば、インストールできています。

※ GOPATH の設定

Go では、コードや外部モジュールを管理するためにGOPATHという環境変数を設定することが一般的でした。

以前は環境変数 GOPATH で指定された場所が Go プログラム用のワークスペースのルートディレクトリとされ、この下に Go のソースコードやモジュール類を管理していました。

Go 1.11 以降は Go modules というモジュールシステムが導入され、必須ではなくなりましたが、それ以前のバージョンで開発されたプロジェクトを扱う際には設定が必要な場合があります。以下に一例を載せておきます。

export GOPATH=$HOME/go

エディタ (VS Code の設定)

Go を利用する上で VSCode で設定する拡張機能などについて書いておきます。(なお、名前は執筆時点の名称です)

Go

まずは、公式が出している拡張機能「Go」を取り入れます。

インストールが完了したら、この拡張機能から Go 関連のツールをインストールします。

VSCode のコマンドパレットを表示し、

Go: Install/Update tools

と入力します。

すると以下の欄が表示されると思うので、

表示される全てのツールにチェックを入れて OK でインストールを行います。

Go プロジェクト作成から実行へ

では、Go のプログラムを書いて実行してみましょう。

Go プロジェクトを作成する

まずは、Go プロジェクト用のディレクトリを作成してください。

プロジェクト名はここでは go-first としていますが、名前は何でも構いません。

mkdir go-first

Go プロジェクトを初期化する

先ほど作成したプロジェクト直下に移動し、

以下のコマンドを実行して Go 環境を初期化してください。

Go モジュールのパスが書かれたファイル(go.mod)が自動生成されます。

cd go-first
go mod init go-first

最初の Go プログラム:Hello, World! を作る

では、最初の Go プログラムを作成してみましょう。

  1. 作成した Go プロジェクト下にhello.goというファイルを作成します。
  2. 以下のコードを書きます。
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

  1. ターミナル(またはコマンドプロンプト)で次のコマンドを実行します。
go run hello.go
  1. 「Hello, World!」と表示されれば成功です!

コードの説明

上記のサンプルコード内の各箇所の説明は以下の通りです。

  • package main: すべての Go プログラムは「パッケージ」に属します。実行可能ファイルを作るにはmainパッケージが必要です。
  • import "fmt": 標準ライブラリのfmtパッケージをインポートします。書式付き入出力用の関数が含まれています。
  • func main(): プログラムの実行が開始されるエントリーポイントです。
  • fmt.Println(): コンソールに文字列を出力する関数です。

プログラムのビルドと実行

また、Go プログラムは次のようにビルドして実行可能ファイルを作成できます。

go build hello.go

これにより、hello という実行可能ファイルが生成されます。


ひとまず Go 言語の環境構築および簡単なコードを作って実行までをやってみた。

始めたばかりだが、今後更なる利用をしていって理解を深めたい。


Footnotes

  1. Go(公式ページ)

  2. Go(All Releases)