エンジニアリングTips

【Go言語】goenvを利用した環境構築

概要

本記事はGo言語を勉強してみたい方に向けた初めの一歩となる記事になります。
初心者プログラマーとして最初に躓く、環境構築についての記事を自分のためにも残しておこうと思った次第です。
以下TIOBEの人気プログラミング言語ランキングを参照として、2023年の13位から2024年(11月)は7位とGo言語の人気は沸々と上がってきているようですので、これから勉強してみるのもありかも?ですね!

TIOBE人気プログラミング言語ラインキング(2024年1月)

ちなみに私自身Macユーザーの為、Mac用の環境構築となります。
(Windowsの方すみません🙇。でももしかしたら参考になる部分あるかもです!)

homebrewのインストール

まずはMacのパッケージ管理ツールである『homebrew』のインストールから始めます。すでにインストールしている方は本手順を飛ばして頂いて大丈夫です!
まずパッケージ管理ツールとはなんぞやってとこからですが、以下図を参考にざっくりと!

今回ほとんどの皆さんが使うであろうgitをPCで使いたい場合に、パッケージ管理ツールを使用することでgitを動かす上で必要なパッケージもまとめて取ってきてくれるのがパッケージ管理ツールを使用するメリットになります。
パッケージ管理ツールを使わない場合、まずはgitパッケージをダウンロードした後にgitを動かすのに必要なパッケージを確認して1つずつ皆さんの手で取ってくる必要があるのです。(これはかなり大変。。)

ざっくりですが、パッケージ管理ツールの大切さを学べたところでhomebrewをインストールしましょう!
以下コマンドを実行します!

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

上記実行してインストールできたら、インストールメッセージに以下の様なコマンドを実行してくださいと表示されると思うので、実行しましょう!(皆さんのPCでhomebrewを使えるようにするおまじないみたいなものです!)

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

最後に以下コマンドを実行して「/opt/homebrew/bin/brew」みたいな感じで表示されたら成功です。

which brew

goenvのインストール

次にGo言語のバージョン管理ツール『goenv』のインストールから始めます。
このツールを使うことで、使用したいgo言語のバージョンを簡単切り替えることができます。

brew install goenv

インストールが完了したら、goenvのPATHを通しましょう!

echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshrc
echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(goenv init -)"' >> ~/.zshrc
source ~/.zshrc 

次に最新バージョンのGo言語をインストールしましょう!インストール可能なバージョンは以下コマンドで確認できます。

goenv install -l

以下のように、ずらっとバージョンの一覧が表示されます。
※最新バージョンのgoがリストにない場合、brew upgrade goenvを実行することで最新バージョンのgoを取得できるようになります。

現在1.23.3が最新のようなので、次のコマンドでダウンロードしてPCで使用するバージョンを1.23.3で固定します

goenv install 1.23.3
goenv global 1.23.3

以下コマンドで現在使用しているgoバージョンが1.23.3であれば設定完了です。

go version

VSCodeの設定

次はVSCode上でgoを開発しやすいように設定します!
VSCodeで開いているフォルダに.vscodeフォルダを作成し、その中にsettings.jsonを作成してください。
settings.jsonを作成したら以下設定を貼り付けてください!

{
  "go.formatTool": "goimports",
  "go.lintTool": "golangci-lint",
  "go.lintFlags": ["--fast"],
  "go.goroot": "<goルートのパスを貼り付け>",
  "go.useLanguageServer": true,
  "editor.formatOnSave": true,
  "[go]": {
    "editor.defaultFormatter": "golang.go"
  }
}

上記go.gorootの設定について、以下コマンドで表示されたgoルートのパスを貼り付けてください。
※お使いのgoバージョンを変更する度にこのgoルートは変わるので、settings.jsonのgo.gorootを再度設定し忘れないように!

go env GOROOT

そして最後に以下Go言語のプラグインをインストールすれば環境構築は一通り完了となります!お疲れ様でした!
これでVSCode上でgoの開発がスイスイできるようになったと思います!

Go言語少し実行してみよう!

main.goというファイルを作成し、実際に実行してみましょう!main.goは以下.vscodeフォルダと同じ階層に作ります。

そして、以下コードをmain.goに貼り付けます!

package main

import (
	"fmt"
)

func main() {
	fmt.Println("hello world")
}

これで準備完了。以下コマンドをmain.goと同じ階層で以下コマンドを実行してみてください!するとhello worldがターミナルに表示されるかと思います!

go build main.go
./main

フォルダの中を見てみるといつの間にか、mainという名前のファイルができているが確認できます!
これは上記のgo buildコマンドによりmain.goをビルドし、生成されたファイルになります!また、./mainは生成されたファイルを実行するマンドになります!

このようにGo言語の実行はビルド→生成されたファイルの実行が基本になるので、覚えておきましょう!

まとめ

今回、goenvを使用した環境構築をシェアしました!
これでGo言語を勉強する土台が作れたのではなかろうかと!

ではでは!

-エンジニアリングTips
-,