首頁 >後端開發 >Golang >如何在修改後的 Go 專案結構中跨不同目錄存取模組?

如何在修改後的 Go 專案結構中跨不同目錄存取模組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-26 03:58:15893瀏覽

How to Access Modules Across Different Directories in a Revised Go Project Structure?

存取修訂後的 Golang 專案結構中的模組

自 Go 版本 1.11 以來,模組管理發生了重大變化。要了解如何在新專案結構中引用不同目錄中的模組,讓我們檢查一下您的資料夾設定:

\root\module1
\root\module2

每個目錄都包含一個go.mod 文件,您可以在根目錄。但是,要從 module1 存取 module2,請按照以下步驟操作:

舊方式

在傳統方法中,模組必須放置在 GOPATH 環境變數中才能存取。 GOPATH 資料夾通常有以下結構:

$GOPATH
├── bin
├── pkg
└── src
   ├── github.com
   └── other_imported_modules

您可以使用import 語句從module1 中的module2 匯入名為datastructurals.go 的資料結構檔案:

import (
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)

新方式

模組管理的現代方法涉及使用go mod init指令:

go mod init github.com/username/modulename

這會產生 go.mod 和 go.sum 檔。 go.mod 檔案包含依賴項,而 go.sum 儲存它們的雜湊值。例如, module2 的go.mod 檔案可能如下所示:

module github.com/username/module2

go 1.13

require (
    github.com/alessiosavi/ahocorasick v0.0.3
)

現在,您可以在module1 中匯入module2:

import (
    "github.com/username/module2"
)

此方法可讓您存取模組,而無需必須發布它們或將它們放在GOPATH 中。

以上是如何在修改後的 Go 專案結構中跨不同目錄存取模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn