はじめに
久々にgolangを触ったら、バージョンが1.12になっていて、標準でバージョン管理機構が備わったとのことでしたので試してみました。
環境
バージョン | |
---|---|
OS | macOS 10.14.3 |
golang | 1.12 |
手順
-
環境変数にGO111MODULE=onを追加する。1.13ではデフォルトでonになる、とのこと
.bash_profile# 以下を追加 export GO111MODULE=on
-
プロジェクトディレクトリを作る
$ source ~/.bash_profile $ mkdir sample $ cd sample
-
モジュール管理ファイルを用意する
$ go mod init sample
- 上記を実行すると、新たに go.mod が生成される
- 生成するバイナリは、ここで指定した名前になる(今回は"sample")
-
コードを書く(以下はサンプル)
main.gopackage main import ( "fmt" "golang.org/x/text/width" ) func main() { // 半角文字を全角文字にするプログラム text := "123XYZ" fmt.Println("半角:", text) fmt.Println("全角:", width.Widen.String(text)) }
-
依存するモジュールをダウンロードする
$ go get golang.org/x/text/width
- 上記を実行すると、新たにgo.sumが生成され、go.modに依存関係が追記される
- この手順を飛ばすことも可能(
go build
で自動的に行われる)
-
ビルド & 実行する
$ go build $ ./sample 半角: 123XYZ 全角: 123XYZ
感想
個人的に、あまり環境をいじるのが好きでない為、この手のツールを標準で用意してもらえるのは大変嬉しいです。仕組みがあまり複雑でない点も好みです。