Help us understand the problem. What is going on with this article?

Go 1.12のmodulesを試す

More than 1 year has passed since last update.

はじめに

 久々にgolangを触ったら、バージョンが1.12になっていて、標準でバージョン管理機構が備わったとのことでしたので試してみました。

環境

バージョン
OS macOS 10.14.3
golang 1.12

手順

  1. 環境変数にGO111MODULE=onを追加する。1.13ではデフォルトでonになる、とのこと

    .bash_profile
    # 以下を追加
    export GO111MODULE=on
    
  2. プロジェクトディレクトリを作る

    $ source ~/.bash_profile
    $ mkdir sample
    $ cd sample
    
  3. モジュール管理ファイルを用意する

    $ go mod init sample
    
    • 上記を実行すると、新たに go.mod が生成される
    • 生成するバイナリは、ここで指定した名前になる(今回は"sample")
  4. コードを書く(以下はサンプル)

    main.go
    package main
    
    import (
        "fmt"
        "golang.org/x/text/width"
    )
    
    func main() {
        // 半角文字を全角文字にするプログラム
        text := "123XYZ"
        fmt.Println("半角:", text)
        fmt.Println("全角:", width.Widen.String(text))
    }
    
  5. 依存するモジュールをダウンロードする

    $ go get golang.org/x/text/width
    
    • 上記を実行すると、新たにgo.sumが生成され、go.modに依存関係が追記される
    • この手順を飛ばすことも可能(go buildで自動的に行われる)
  6. ビルド & 実行する

    $ go build
    $ ./sample
    半角: 123XYZ
    全角: 123XYZ
    

感想

 個人的に、あまり環境をいじるのが好きでない為、この手のツールを標準で用意してもらえるのは大変嬉しいです。仕組みがあまり複雑でない点も好みです。

tana6
器用貧乏なプログラマーです。最近、機械学習はじめました!(冷やし中華的に)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away