😎
golang 開発環境構築【コマンドとか】
目的
忘備録としてコマンドとかをまとめてみた。完全に個人用な気がする...
動作環境
- OS:Ubuntu 22.04 amd64(VPS)
- Go:1.19 linux/amd64
構築手順
- 開発する場所である(ルート)ディレクトリの作成
bash
$ mkdir <ディレクトリ名>
$ cd ./<ディレクトリ名>
-
Go Modules
というパッケージ管理システムを使ってプロジェクトを作成
bash
$ go mod init <モジュール名>
これを実行するとgo.mod
が作成される。ディレクトリ構造はこんな感じにするらしい。
<ルートディレクトリ>/
┣ <サブディレクトリ>/
┃ ┗ sub.go
┣ main.go
┗ go.mod
- 必要なモジュールをインストールする
モジュールをインストールするには3つのパターンがあるらしい。
-
go.sum
に追加する場合(go.mod
を作成したプロジェクトのみで使用する場合)
bash
$ go get <URL>
-
$GOPATH/bin
に追加する場合(どのプロジェクトでも使用する場合)
bash
$ go install <URL>
- コード内でimportしているのに上記2つを実行していない場合、あるいはダウンロードされているのにimportされていない場合
bash
$ go mod tidy
実行方法
Goでコードを実行するには以下のような形でできる。基本的にはbuild
を用いてファイルを実行することが多いらしい。また、build
でファイル名とかを指定せずに、ルートディレクトリで実行すると、すべてをコンパイルしてくれる
bash
$ #直接実行する場合
$ go run <実行したいファイル名>.go
$ #実行ファイルを作成する場合
$ go build <ファイル名>.go
便利なコマンドたち
- コードフォーマッター
Goには標準でコードを整形してくれるコマンドが存在する。ディレクトリを指定することで、そのディレクトリ配下のGoファイルすべて、チェックし整形する必要がある場合はファイルを書き換えてくれる。
bash
$ go fmt <ディレクトリ名あるいはファイル名>
- 解析ツール
こちらもGoの標準機能として用意されていてるものである。バグが起きそうなところを警告・注意してくれます。コードフォーマッターと同様にディレクトリやファイル名指定することができる。
bash
$ go vet <ディレクトリ名>
$ go vet <ファイル名>
Discussion