Golangのインストールと環境設定
Golang(通称Go)は、効率的なコンパイル言語で、並行処理やネットワークサービスの開発に適しています。まず、Golangの公式サイトから対応するOSに合わせてインストーラをダウンロードし、インストールします。インストール後は、コマンドラインでgo versionを実行して、インストールが正しく完了したか確認しましょう。
Macユーザーの場合、Goのバイナリへのパスをシェルの設定ファイルに追加する必要があります:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
プロジェクトの初期設定
プロジェクトディレクトリを作成し、そこでGoのモジュールを初期化します:
mkdir go-test
cd go-test
go mod init go-test
モジュールとは何か?
Goのモジュールは、一連のパッケージを含むプロジェクトの単位です。go mod init [name]コマンドを実行することで、そのプロジェクトのrootとなり、go.modファイルが生成されます。このファイルには、プロジェクト名と使用しているGoのバージョンが記述されます。また、外部パッケージの依存関係も管理されます。
Visual Studio CodeでのGo開発
Visual Studio Code(VSCode)でGo言語を効率良く扱うには、以下の設定をsettings.jsonに追加します:
"[go]": {
"editor.defaultFormatter": "golang.go",
"editor.formatOnSave": true
}
これにより、ファイルを保存する度に自動的にコードが整形されます。
静的解析ツール
staticcheckはGoのコードに対する静的解析ツールで、コードの品質やパフォーマンス問題を指摘してくれます。詳細なルールはstaticcheckの公式ドキュメントを参照してください。
シンプルなプログラムの作成
main.goファイルを作成し、基本的なプログラムを記述してみましょう:
package main
import "fmt"
func main() {
fmt.Println("Hello world")
}
このプログラムはgo run main.goで実行可能です。また、バイナリファイルとしてビルドする場合はgo build -o app main.goを使用します。
外部パッケージの利用
外部のパッケージを利用する例として、.envファイルから環境変数を読み込むgodotenvパッケージを使ってみましょう:
package main
import (
"fmt"
"os"
"github.com/joho/godotenv"
)
func main() {
godotenv.Load()
fmt.Println(os.Getenv("GO_ENV"))
}
もしパッケージが見つからない場合(エディタに赤線が表示されるなど)、go mod tidyを実行して依存関係を解決し、必要なパッケージをインストールします。このコマンドはgo.modと
go.sumを更新します。go.sumファイルは、ダウンロードされた依存関係のチェックサムを保持し、データの改竄を防ぎます。