原文来自这里[1]。
由Cameron Balahan发布于2023年7月31日
当你在Go中开始一个新项目时,你可能会从克隆一个现有的项目开始。这样,你可以从一个已经可以运行的项目开始,进行增量改变,而不是从零开始。
长期以来,我们一直从Go开发者那里听到,开始往往是最困难的部分。来自其他语言的新开发者期望对默认项目布局的指导,有经验的开发者期望他们的项目依赖具有一致性,所有类型的开发者都期望有一种简单的方式来尝试新的产品和服务,而不必从网上的样本中复制和粘贴。
为此,今天我们发布了gonew,这是一个实验性的工具,用于从预定义的模板中实例化新的Go项目。任何人都可以编写模板,这些模板被打包并作为模块分发,利用Go模块代理和校验和数据库来提高安全性和可用性。
原型gonew是有意设计得非常简单:我们今天发布的是一个极其有限的原型,旨在提供一个基础,我们可以从中收集反馈和社区的方向。试用一下,告诉我们你的想法[2],帮助我们为每个人构建一个更有用的工具。
开始使用
首先,使用go install安装gonew:
代码语言:javascript复制$ go install golang.org/x/tools/cmd/gonew@latest
要复制现有的模板,只需在新项目的父目录中运行gonew,并提供两个参数:第一个是你希望复制的模板的路径,第二个是你正在创建的项目的模块名。例如:
代码语言:javascript复制$ gonew golang.org/x/example/helloserver example.com/myserver
$ cd ./myserver
然后你可以阅读和编辑./myserver中的文件进行定制。
我们编写了两个模板供你开始使用:
•hello[3]:一个打印问候语的命令行工具,带有定制标志。•helloserver[4]:一个提供问候语的HTTP服务器。
编写你自己的模板
编写你自己的模板就像在Go中创建任何其他模块[5]一样简单。查看我们上面链接的例子开始吧。
Google Cloud[6]和Service Weaver[7]团队也提供了一些例子。
下一步
请试用gonew,并让我们知道我们如何能使它变得更好、更有用。请记住,gonew现在只是一个实验;我们需要你的反馈才能做得更好[8]。
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[9]进行许可,使用时请注明出处。 author: mengbin[10] blog: mengbin[11] github: mengbin92[12] cnblogs: 恋水无意[13]
References
[1]
这里: https://go.dev/blog/gonew
[2]
告诉我们你的想法: https://go.dev/s/gonew-feedback
[3]
hello: https://pkg.go.dev/golang.org/x/example/hello
[4]
helloserver: https://pkg.go.dev/golang.org/x/example/helloserver
[5]
创建任何其他模块: https://go.dev/doc/tutorial/create-module
[6]
Google Cloud: https://github.com/GoogleCloudPlatform/go-templates
[7]
Service Weaver: https://github.com/ServiceWeaver/template
[8]
需要你的反馈才能做得更好: https://go.dev/s/gonew-feedback
[9]
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
[10]
mengbin: mengbin1992@outlook.com
[11]
mengbin: https://mengbin.top
[12]
mengbin92: https://mengbin92.github.io/
[13]
恋水无意: https://www.cnblogs.com/lianshuiwuyi/