原文来自这里

由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现在只是一个实验;我们需要你的反馈才能做得更好


孟斯特

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
author: mengbin
blog: mengbin
github: mengbin92
cnblogs: 恋水无意