【プログラミング】【Go】Go言語の環境構築(Windows Mac) - j-komatsu/myCheatSheet GitHub Wiki

Go言語の環境構築 (Windows/Mac)

はじめに

このページでは、Go言語の開発環境をWindowsとMacでセットアップし、最終的にブラウザで「Hello, World!」を表示する方法を説明します。


1. 環境構築の概要

OS IDE インストール方法
Windows VSCode, GoLand Go公式サイト, Winget, Chocolatey
Mac VSCode, GoLand Homebrew, Go公式サイト
graph TD;
    A[Go公式サイトからGoをインストール] --> B[VSCode/GoLandのセットアップ];
    B --> C[Goプロジェクトを作成];
    C --> D[Hello, World!をブラウザに表示];
Loading

2. Goのインストール

2.1 Windowsの場合

1. 公式サイトからインストール

  1. Go公式サイト からWindows用のインストーラをダウンロード
  2. インストーラを実行し、指示に従ってインストール

2. パッケージマネージャを利用(Winget / Chocolatey)

Winget を使用する場合
  1. Windowsの検索バーで「コマンドプロンプト」または「PowerShell」を開く
  2. 以下のコマンドを実行
    winget install -e --id Golang.Go
  3. インストールが完了したら、以下のコマンドでバージョンを確認
    go version
Chocolatey を使用する場合
  1. Windowsの検索バーで「コマンドプロンプト(管理者として実行)」を開く
  2. 以下のコマンドを実行
    choco install golang
  3. インストールが完了したら、以下のコマンドでバージョンを確認
    go version

2.2 Macの場合

1. Homebrewでインストール

brew install go

2. 公式サイトからインストール

  1. Go公式サイト からMac用のインストーラをダウンロード
  2. 指示に従ってインストール

3. IDEのセットアップ

3.1 VSCode

  1. VSCode をインストール
  2. 拡張機能「Go」をインストール(Ctrl + Shift + X → 「Go」で検索)
  3. ターミナルを開き、go version で動作確認

3.2 GoLand

  1. GoLand をインストール
  2. 新規プロジェクト作成 → GOPATH 設定 → main.go を作成

4. プロジェクトの作成

プロジェクトの作成場所

プロジェクトは、開発用ディレクトリ(例: ~/workspace/C:\Users\<ユーザー名>\go_projects\)に作成することを推奨します。

# Mac/Linux の場合
mkdir -p ~/workspace/go-web-app
cd ~/workspace/go-web-app

# Windows の場合(PowerShell)
mkdir C:\Users\<ユーザー名>\go_projects\go-web-app
cd C:\Users\<ユーザー名>\go_projects\go-web-app

モジュールの初期化

go mod init example.com/go-web-app

main.go の作成場所

main.go は、プロジェクトのルートディレクトリ (go-web-app) に作成します。

# Mac/Linux の場合
nano ~/workspace/go-web-app/main.go

# Windows の場合(PowerShell)
notepad C:\Users\<ユーザー名>\go_projects\go-web-app\main.go

main.go のコード

package main

import (
    "fmt"
    "net/http"
)

// リクエストを受け取り、レスポンスを返すハンドラー関数
func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello, World!")
}

func main() {
    // ルートパス(/)にアクセスされたときに `handler` 関数を実行
    http.HandleFunc("/", handler)
    
    // サーバーを8080番ポートで起動
    fmt.Println("Starting server on :8080")
    http.ListenAndServe(":8080", nil)
}

コードの説明

  1. package main
    • Goのプログラムは package main から始まります。
  2. import
    • fmt は標準出力に文字列を表示するためのパッケージ。
    • net/http はHTTPサーバーを作成するためのパッケージ。
  3. handler 関数
    • w http.ResponseWriter はレスポンスを書き込むためのオブジェクト。
    • r *http.Request はリクエストの情報を格納するオブジェクト。
    • fmt.Fprintln(w, "Hello, World!")Hello, World! をレスポンスとして返す。
  4. main 関数
    • http.HandleFunc("/", handler)/ にアクセスされた際に handler を実行する設定。
    • http.ListenAndServe(":8080", nil) でサーバーをポート8080で起動。

5. 実行と確認

サーバーの起動

go run main.go

ブラウザで確認

http://localhost:8080 にアクセスし、Hello, World! が表示されることを確認。


6. まとめ

この手順でGoの開発環境を構築し、ブラウザに「Hello, World!」を表示できました。

⚠️ **GitHub.com Fallback** ⚠️