golang/workspace
#golang
単一のリポジトリで複数の
golang/module
を持つことができるようにできる機構。
いわゆる
monorepo
構成が取れるようになった
go moduleが
git
などの
VCS
と深く関連しているのでworkspaceなしでmonorepoを実現することが難しそう
単一リポジトリ上に複数の小さなバイナリを作ることができてうれしくなった
UNIX哲学
的なことがやりやすくなった
project rootに
go.work
が作成され、workspaceに属するモジュール(
go.mod
のあるディレクトリ)への相対パスが書かれている
使いかた
$ go work use .
cwdにmoduleがあり、workspaceに追加したい場合