The Go Blog
プロジェクトテンプレートの実験
Goで新しいプロジェクトを始めるとき、既存のプロジェクトをクローンすることから始めるかもしれません。そうすることで、すでに機能しているものをベースに、ゼロから始めるのではなく、少しずつ変更を加えていくことができます。
長い間、Go開発者からは、始めるのが一番難しいという声が聞かれていました。他の言語から来た新しい開発者は、デフォルトのプロジェクトレイアウトについての手引きを期待し、チームで働く経験豊富な開発者は、プロジェクトの依存関係の一貫性を期待し、あらゆる種類の開発者は、ウェブ上のサンプルからコピー&ペーストすることなく、新しい製品やサービスを簡単に試せる方法を期待しています。
そこで本日、Goで定義済みのテンプレートから新しいプロジェクトをインスタンス化するための実験的なツールgonewを公開しました。誰でもテンプレートを作成でき、それらはモジュールとしてパッケージ化され配布されます。Goモジュールプロキシとチェックサムデータベースを活用することで、セキュリティと可用性が向上します。
プロトタイプのgonewは意図的に最小限に抑えられています。本日リリースしたのは、フィードバックとコミュニティの方向性を収集するための基盤を提供する、非常に限定的なプロトタイプです。ぜひ試してみて、ご意見をお聞かせください。皆にとってより便利なツールの開発にご協力をお願いします。
入門
go installを使ってgonewをインストールすることから始めます。
$ go install golang.org/x/tools/cmd/gonew@latest
既存のテンプレートをコピーするには、新しいプロジェクトの親ディレクトリでgonewを2つの引数とともに実行します。1つ目はコピーしたいテンプレートへのパス、2つ目は作成するプロジェクトのモジュール名です。例として
$ gonew golang.org/x/example/helloserver example.com/myserver
$ cd ./myserver
そして、./myserver内のファイルを読んで編集し、カスタマイズすることができます。
始めるのに役立つ2つのテンプレートを作成しました。
- hello: カスタマイズフラグ付きで挨拶をプリントするコマンドラインツール。
- helloserver: 挨拶を提供するHTTPサーバー。
独自のテンプレートの作成
独自のテンプレートを作成するのは、Goで他のモジュールを作成するのと同じくらい簡単です。上記のリンク先の例を参考に始めてみてください。
Google CloudチームとService Weaverチームからも例が提供されています。
次のステップ
ぜひgonewを試してみて、どのようにすればより良く、より便利になるかご意見をお聞かせください。gonewは今のところ実験段階であることに留意してください。正しく作成するためには、皆様のフィードバックが必要です。
次の記事: Go 1.21がリリースされました!
前の記事: Goでの開発に関するフィードバックを共有してください
ブログインデックス