sách gpt4 ai đã đi

Cách lồng một mô-đun Go vào nhiều mô-đun Go dưới dạng các phụ thuộc cục bộ

In lại 作者:行者123 更新时间:2023-12-01 22:28:08 42 4
mua khóa gpt4 Nike

$ go version
1.13.3

我的文件夹结构如下:
ĐẠI HỌC
+---src
+--- my-api-server
+--- my-auth-server
+--- main.go
+--- go.mod
+--- go.sum
+--- my-utils
+--- go.mod
+--- go.sum
+--- uuid
+--- uuid.go
my-auth-serversử dụng my-api-server/my-utils/uuid作为依赖

我试过移动 my-utils里面 my-auth-server ,但作为图书馆, my-utils将在多个地方使用。

Hiện nay, my-utils还有一个 go.mod , 但包含 mô-đun宣言。
如果我把它放在 my-auth-server ,模块路径变为 my-api-server/my-auth-server/my-utils
如果我有 2 台服务器,
  • my-auth-server
  • my-session-server

  • 我无法放置 my-utils两者都在里面,因为只能有一个 mô-đuntheo go.mod 声明.

    那么,我如何在两个不同的项目中使用它作为子模块呢?

    解决此问题的任何帮助也将不胜感激。

    1 Câu trả lời

    实现此目的的一种简洁方法是在所有项目之外使用 utils 一个独立模块,然后在任何您想要的地方导入。既然很明显,您希望它本身就是一个模块。


    ĐẠI HỌC
    +---src
    +--- my-api-server
    +--- my-auth-server
    +--- main.go
    +--- go.mod
    +--- go.sum
    +--- my-utils
    +--- go.mod
    +--- go.sum
    +--- uuid
    +--- uuid.go

    但是,如果您仍然需要将 utils 作为 API 服务器的一部分进行维护,那么将 API 服务器作为模块并将其导入任何需要 utils 包的地方。这是不鼓励的,但不会造成任何伤害,因为 GO 作为编译所需上下文的一部分进行优化。

    像这样
    ĐẠI HỌC
    +---src
    +--- my-api-server
    +--- my-auth-server
    +--- main.go
    +--- go.mod
    +--- go.sum
    +--- my-utils
    +--- uuid
    +--- uuid.go

    我的理解是您需要在单个仓库中维护多个模块并交叉引用。据我了解,这不是它应该如何工作的,因为您始终可以通过模块相对路径交叉引用嵌套包。

    也许你也知道这一点,但由于你使用的是模块,你需要坐在 GOPATH/GOROOT 中进行解析。

    关于go - 如何将一个 Go 模块嵌套在多个 Go 模块中作为本地依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58473828/

    42 4 0
    Bài viết được đề xuất: file - 在Golang中跨不同测试加载数据文件
    Bài viết được đề xuất: go - 从[]个字节中解析浮点值的最佳方法是什么?
    Bài viết được đề xuất: go - Pubsub.pull请求无法正常工作-转到
    Bài viết được đề xuất: go - 检查 golang 遗留代码中的打开连接
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com