14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go 1.12のmodulesを試す

Last updated at Posted at 2019-03-06

はじめに

 久々に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
    

感想

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

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?