猿问

在 go 项目中将 git 子模块保存在哪里?

我想在我的 go 项目中添加一个子模块。

子模块将包含一些.proto文件和一些 go 文件。我将使用 protos 使用我的 Makefile 生成 grpc-gateway 文件,它与 repo 中的 go 文件具有相同的包。包含这些 protos 的 repo 不是我的,其他人正在开发它。我不会提交这些生成的网关文件。

golang 项目中的此类文件是否有任何特定结构?我应该将它们保存在 pkg 目录中吗?

我的项目中当前有构建、配置、模板的三个文件夹。


慕的地6264312
浏览 111回答 2
2回答

ibeautiful

您可以将它们保存在pkg目录中,也许在pkg/proto.生成的 go 文件的包名称将出现在文件的go_package属性中.proto。例如,option go_package = "external/api/messages";然后编译后,go文件中的包名将是package messages这是文件夹结构$ tree.`-- pkg    `-- proto        `-- messages            |-- messages.pb.go            `-- messages.proto为了导入它,您必须更新您的go.mod文件replace external/api v0.0.0 => ./pkg/proto之后,您可以使用import (    "external/api/messages")

波斯汪

如果您想将项目依赖项保留在项目中,那么您最好将它们保留在vendor目录中。但通常我为此使用 go 模块。也可能对您有用: https ://github.com/golang-standards/project-layout
随时随地看视频慕课网APP

相关分类

Go
我要回答