Go 博客

尝试项目模板

Cameron Balahan
2023 年 7 月 31 日

当你在 Go 中启动一个新项目时,你可能会从克隆现有项目开始。这样,你就可以从一个已有的、可以工作的项目开始,进行增量修改,而不是从头开始。

长期以来,我们一直听到 Go 开发者说入门往往是最困难的部分。来自其他语言的新开发者期望获得关于默认项目布局的指导,在团队工作的有经验开发者期望项目依赖项保持一致,而各种开发者都期望一种简单的方法来尝试新产品和服务,而不必从网络上的示例复制粘贴。

为此,今天我们发布了 gonew,这是一个实验性工具,用于从预定义模板在 Go 中实例化新项目。任何人都可以编写模板,这些模板被打包并作为模块分发,利用 Go 模块代理和校验和数据库来提高安全性和可用性。

gonew 原型有意设计得非常精简:我们今天发布的只是一个功能极其有限的原型,旨在提供一个基础,以便我们能够收集反馈和社区方向。试用一下,告诉我们您的想法,并帮助我们构建一个对所有人更有用的工具。

入门

首先使用 go install 安装 gonew

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

要复制现有模板,请在新项目的父目录中运行 gonew,并带两个参数:第一个是您希望复制的模板路径,第二个是您正在创建的项目的模块名。例如

$ gonew golang.org/x/example/helloserver example.com/myserver
$ cd ./myserver

然后您可以阅读并编辑 ./myserver 中的文件进行自定义。

我们编写了两个模板供您入门

  • hello:一个打印问候语的命令行工具,带自定义标志。
  • helloserver:一个提供问候语的 HTTP 服务器。

编写您自己的模板

编写您自己的模板就像在 Go 中创建任何其他模块一样简单。查看我们上面链接的示例以开始。

Google CloudService Weaver 团队也提供了示例。

后续步骤

请试用 gonew 并告诉我们如何使其更好、更有用。请记住,gonew 目前只是一个实验;我们需要您的反馈才能完善它

下一篇文章:Go 1.21 发布!
上一篇文章:分享您关于使用 Go 开发的反馈
博客索引