为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 工作区实践

Golang 工作区实践

Go
HUX布斯 2021-12-20 19:31:42
根据 Go 文档,他们希望你有一个工作区,你应该把他们所有的项目都放进去。1但是,据我所知,一旦你想制作一个不使用 Go 的项目,这一切都会崩溃只。以一个由许多微服务组成的项目为例。让我们说它的结构是这样的:app/    authentication/ (Using rust)    users/ (Using NodeJS)    posts/ (Using Go)应用程序的只有一部分会用 Go 编写,并且该部分嵌套在应用程序的子目录中。我将如何将 Go 工作区理念应用于这种情况?https://golang.org/doc/code.html#Workspaces
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

每个项目使用不同的 GOPATH 是一种非常好的和简单的方法。根据我的经验,这也比vendor因为您还可以安装二进制文件并将它们保留在不同版本上更有效。

vg是一个帮助管理工作区的简单工具,它与您的 shell 集成并在您使用cd它们时自动检测工作区。

免责声明:我是该工具的作者之一。


查看完整回答
反对 回复 2021-12-20
?
不负相思意

TA贡献1777条经验 获得超10个赞

从 Go 1.11 开始,go 现在有modules。除其他外,模块使您能够在$GOPATH.

您通过运行创建一个新模块go mod init <module name>(您必须在外部$GOPATH/src才能执行此操作)。这将go.mod在当前文件夹中创建一个文件,go您在该文件夹(或下面的任何文件夹)中运行的任何命令都将使用该文件夹作为您的项目根目录。

你可以在这篇文章中阅读更多关于使用 go 模块作为工作区的信息:https : //aliceh75.github.io/using-modules-for-workspaces-in-golang(免责声明:我写的),你可以阅读更多关于 Go 的信息Go Modules Wiki 上的模块:https : //github.com/golang/go/wiki/Modules


查看完整回答
反对 回复 2021-12-20
?
交互式爱情

TA贡献1712条经验 获得超3个赞

你可以把 app/ 放在 $GOPATH/src 中。然后,每当您准备好构建时,您都可以指定源文件的路径,相对于它们在 GOPATH 中的位置。

例如:

如果您的应用程序源代码在$GOPATH/src/app/你的。去文件在$GOPATH/src/app/posts/,那么你可以建立一个源(可以在app /职位/发言权posts.go)用go build $GOPATH/src/app/posts/posts.go或更好的go build posts/posts.goapp/作为当前工作目录。


查看完整回答
反对 回复 2021-12-20
  • 3 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信