🪜

gonew についてまとめてみた

2023/08/01に公開

gonew とは

事前に定義したテンプレートから、新しい Go のプロジェクトを生成できる機能のことです。
サンプルからコードを直接コピー、ペーストする必要がなくなります。

ちなみに gonew は2023年7月31日に Go の公式ブログより発表されました。
Experimenting with project templates

※ 現在はまだプロトタイプです。

実際に使ってみる

まずは gonew をインストールします。

go install golang.org/x/tools/cmd/gonew@latest

gonew をインストールすると、gonew コマンドが使えるようになります。
では実際にコマンドを使って、Go の公式が用意した hello テンプレートを読み込んでみます。

gonew golang.org/x/example/hello example.com/hello

第1引数はテンプレート名(リポジトリ名)で、第2引数にはモジュール名を指定してください。
第3引数には出力先のディレクトリを指定します。
また、第2引数、第3引数は省略可能です。

gonew コマンドを実行したところ、カレントディレクトリに hello プロジェクトが生成されました。
hello.go を実行してみます。

cd ./hello
go run ./hello.go
> Hello, world!

無事に実行できました。

また hello プロジェクトの中身を確認しましたが、LICENSE ファイルなどもコピーされるみたいです。

独自のテンプレートを作成する

こちらは普段通りに Go モジュールを作成し、リポジトリにアップするだけで OK です。
モジュールが作成できたら、gonew コマンドからテンプレートを読み込んでください。

Tutorial: Create a Go module

まとめ

大きなインパクトはありませんが、かなり便利そうです。
導入前にパッケージを試したい時は、gonew からサンプルを読み込んで使いたいと思います。

皆さんもぜひ試してみてください!

Discussion