The Go Blog (Go ブログ)

プロジェクトテンプレートを試す

キャメロン・バラハン
2023年7月31日

Go で新しいプロジェクトを開始する場合、既存のプロジェクトをクローンすることから始めるかもしれません。そうすれば、すでに動作しているものから始めることができ、ゼロから始めるのではなく、段階的に変更を加えることができます。

長い間、Go 開発者から、始めるのが最も難しい部分であるという声を聞いてきました。他の言語から来た新しい開発者は、デフォルトのプロジェクトレイアウトに関するガイダンスを期待し、チームで働く経験豊富な開発者はプロジェクトの依存関係の一貫性を期待し、あらゆる種類の開発者は、Web 上のサンプルからコピーして貼り付けることなく、新しい製品やサービスを簡単に試す方法を期待しています。

そのため、本日、事前定義されたテンプレートから Go で新しいプロジェクトをインスタンス化するための実験的なツールである `gonew` を公開しました。誰でもテンプレートを作成し、モジュールとしてパッケージ化して配布できます。Go モジュールプロキシとチェックサムデータベースを活用することで、セキュリティと可用性が向上します。

プロトタイプの `gonew` は意図的に最小限に抑えられています。本日リリースしたものは、フィードバックとコミュニティの方向性を収集するための基盤となる、非常に限定されたプロトタイプです。試してみて、ご意見をお聞かせください。そして、すべての人にとってより便利なツールを構築するのを手伝ってください。

はじめに

`go install` を使用して `gonew` をインストールすることから始めます。

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

既存のテンプレートをコピーするには、新しいプロジェクトの親ディレクトリで、2 つの引数を指定して `gonew` を実行します。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 での開発に関するフィードバックをお寄せください
ブログインデックス