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 开发的反馈
博客索引