Go ワークスペース

ワークスペース

Go 1.18 ではワークスペース機能がサポートされている。ワークスペースを使うと、複数のモジュールをまとめて管理できる。

  1. ワークスペースを作成する。

    $ mkdir workspace
    $ cd workspace
    $ go work init
    
  2. myapp モジュールを作成する。

    $ mkdir myapp
    $ cd myapp
    $ go mod init example.com/myapp
    
  3. myapp モジュールをワークスペースに追加する。

    $ cd ..
    $ go work use ./myapp
    

    myapp.go

    package main
    
    import "fmt"
    import "example.com/mypkg"
    
    func main() {
        fmt.Println(mypkg.Hello())
    }
    
  4. mypkg モジュールを作成する。

    $ mkdir mypkg
    $ cd mypkg
    $ go mod init example.com/mypkg
    
  5. mypkg モジュールをワークスペースに追加する。

    $ cd ..
    $ go work use ./mypkg
    

    mypkg.go

    package mypkg
    
    func Hello() string {
        return "Hello world!"
    }
    
  6. プログラムを実行する。

    $ go run example.com/myapp
    Hello world!