登录
首页 >  Golang >  Go问答

在 Go 项目中存储 Git 子模块的位置在哪里?

来源:stackoverflow

时间:2024-02-29 18:54:27 351浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《在 Go 项目中存储 Git 子模块的位置在哪里?》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

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

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

golang项目中此类文件有什么具体的结构吗?我应该将它们保存在 pkg 目录中吗?

我的项目中当前有 build、configs、templates 三个文件夹。


解决方案


您可以将它们保存在 pkg 目录中,也许位于 pkg/proto 中。

生成的 go 文件的包名称将出现在 .proto 文件的 go_package 属性中。例如,

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"
)

本篇关于《在 Go 项目中存储 Git 子模块的位置在哪里?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>