Golang 工作区实践

根据 Go 文档,他们希望你有一个工作区,你应该把他们所有的项目都放进去。1但是,据我所知,一旦你想制作一个不使用 Go 的项目,这一切都会崩溃只。


以一个由许多微服务组成的项目为例。让我们说它的结构是这样的:


app/

    authentication/ (Using rust)

    users/ (Using NodeJS)

    posts/ (Using Go)

应用程序的只有一部分会用 Go 编写,并且该部分嵌套在应用程序的子目录中。我将如何将 Go 工作区理念应用于这种情况?


https://golang.org/doc/code.html#Workspaces


HUX布斯
浏览 188回答 3
3回答

翻阅古今

每个项目使用不同的 GOPATH 是一种非常好的和简单的方法。根据我的经验,这也比vendor因为您还可以安装二进制文件并将它们保留在不同版本上更有效。vg是一个帮助管理工作区的简单工具,它与您的 shell 集成并在您使用cd它们时自动检测工作区。免责声明:我是该工具的作者之一。

不负相思意

从 Go 1.11 开始,go 现在有modules。除其他外,模块使您能够在$GOPATH.您通过运行创建一个新模块go mod init <module name>(您必须在外部$GOPATH/src才能执行此操作)。这将go.mod在当前文件夹中创建一个文件,go您在该文件夹(或下面的任何文件夹)中运行的任何命令都将使用该文件夹作为您的项目根目录。你可以在这篇文章中阅读更多关于使用 go 模块作为工作区的信息:https&nbsp;:&nbsp;//aliceh75.github.io/using-modules-for-workspaces-in-golang(免责声明:我写的),你可以阅读更多关于 Go 的信息Go Modules Wiki 上的模块:https&nbsp;:&nbsp;//github.com/golang/go/wiki/Modules

交互式爱情

你可以把 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.go与app/作为当前工作目录。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go