Go言語で「Hello, World!」を目指して：Linux/Mac/Windowsそれぞれの環境でのGo言語インストールと設定ガイド

## はじめに
これまでバックエンドの言語といえば、Pythonばかりを勉強してきました。しかし、今回少しだけGoogleが開発した「**Go**」という言語についても学んでみようと思います。

:::note warn
**以前から興味はあったものの、なかなか時間を確保できず手をつけられずにいましたが、この機会に挑戦してみることにしました。**
:::

この記事では、環境構築に焦点を当てています。***この内容が誰かの技術の助けとなれば幸いです。***

## 書こうと思ったきっかけ
現在受講しているITスクールでのハッカソン（チーム開発）では、バックエンド言語としてPythonまたはGoのどちらかを選択する必要があります。

:::note info
**私は直接バックエンドの担当ではありませんが、最低限「***Hello, World!***」やDockerファイルの作成程度の作業はできるようになりたいと思い、この機会に勉強を始めることにしました。**
:::

しかし、AWSのLambda関数で一部の言語がサポート対象外になるというニュースを目にしたこともあり、***今後は基本的な部分だけを軽く学んでいく予定です。***

**参考記事：**

https://dev.classmethod.jp/articles/how-to-migrate-aws-sam-go-lambda-application/

https://engineering.nifty.co.jp/blog/20337

## 困っていたこと
今回困っていたのは、使用しているMacBookでGoに関するコマンドを実行した際に、以下のエラーが発生したことです。

```bash
➜  Desktop git:(honda-branch) ✗ go version
zsh: command not found: go
```

この「`zsh: command not found: go`」というエラーは、Goがインストールされていない、もしくは環境変数 `PATH` にGoの実行ファイルパスが正しく設定されていない場合に発生します。

:::note alert
**私の場合、Goの環境構築やインストールをまだ行っていなかったため、このエラーが発生したのは当然の結果でした（笑）。**
:::

***これを機に、自宅環境のLinux、Mac、Windowsそれぞれの環境で、Go言語のインストールや環境変数の設定を進めていきたいと思います。***

## 1. Goがインストールされているか確認する
以下のコマンドを実行して、Goがインストールされているか確認します。

```bash
go version
```

- **結果が表示されない場合**: Goがインストールされていません。
- **Goのバージョンが表示される場合**: Goはインストールされていますが、PATHが正しく設定されていません。

## 2. Goをインストールする

### a. Linuxの場合
1. Goの公式サイトから最新バージョンをダウンロードします： [https://go.dev/dl/](https://go.dev/dl/)

    例：以下のコマンドでダウンロードします。
    ```bash
    wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz
    ```

2. Goをインストールします：

    ```bash
    sudo tar -C /usr/local -xzf go1.20.6.linux-amd64.tar.gz
    ```

3. 環境変数を設定します（`~/.zshrc` または `~/.bashrc`に追加）：

    ```bash
    export PATH=$PATH:/usr/local/go/bin
    ```

4. 設定を反映します：
    ```bash
    source ~/.zshrc
    ```

ここでは、自宅のLinuxサーバーにGoを導入しました。***以下はそのインストール完了後のスクリーンショットです。***

![Screenshot 2025-01-12 at 16.44.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/0a923057-e2ec-5c83-eae4-f86141406c06.png)

### b. macOSの場合
1. Homebrewを使ってインストールします：
    ```bash
    brew install go
    ```

2. PATHに追加します（必要であれば）：
    ```bash
    echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
    source ~/.zshrc
    ```

私の環境では、以下のようにインストールを実施しました。

![Screenshot 2025-01-12 at 16.27.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d8649ac6-9ace-b366-f0c7-73b527d29dc6.png)

### c. Windowsの場合
1. [Goの公式サイト](https://go.dev/dl/)からインストーラをダウンロードします。
2. インストール後、システム環境変数 `Path` にGoのパスを追加します（通常 `C:\Go\bin`）。

***Windows環境では、以下のようにインストールを実施しました。***

![Screenshot 2025-01-12 at 16.47.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/ecb99afc-2ec7-407c-7c24-0d2c873096b0.png)

## 3. 確認
Goのインストールが完了したら、以下のコマンドを実行してバージョンを確認します。

```bash
go version
```

**実行例：**

```bash
➜  Desktop git:(honda-branch) ✗ go version
go version go1.23.4 darwin/amd64
```

***バージョンが正しく表示されれば、インストールと環境設定は完了です！***

## まとめ
ここまでお読みいただきありがとうございました。***今回は、私のMacBookにGo言語のセットアップができていなかったため、自宅にあるすべての環境に導入してみました（笑）。***

:::note warn
**環境変数のパスも正しく設定できたので、これからはGoの基本的なコマンドが問題なく使えるようになると思います。**
:::

これから少しずつキャッチアップを進めていきたいと思います。***この内容がどなたかの技術的な参考になれば幸いです。***

## おまけ
私自身、Go言語を本格的に学ぶかどうかはまだ決めていませんが、せめてGo言語のDockerファイルぐらいは作れるようになりたいと思っています。

:::note info
**最近はインフラやネットワーク関連の記事を書くことが多かったのですが、今回Go言語に触れてみたことで良い気分転換になりました。**
:::

***次回は、Go言語のDockerファイル作成に挑戦してみようと思います。***

## 参考記事

https://www.sejuku.net/blog/124914