首頁  >  文章  >  後端開發  >  如何從 GOPATH 外部引用 Go 模組?

如何從 GOPATH 外部引用 Go 模組?

Linda Hamilton
Linda Hamilton原創
2024-11-27 20:27:15570瀏覽

How Do I Reference Go Modules from Outside the GOPATH?

從非 GOPATH 目錄引用模組

Go 1.11 中引入的 Go 模組引入了從非 GOPATH 目錄引用模組和套件的變化。

舊方式

傳統上,Go 模組需要駐留在 GOPATH 中。可以使用以下語法匯入此目錄中的模組和套件:

import (
    "github.com/username/modulename/subpackage"
)

新方式

使用 Go 模組,這種方法已經改變。包現在可以駐留在 GOPATH 之外。要從另一個目錄引用套件:

初始化模組

使用go mod init 指令初始化新模組:

go mod init github.com/username/modulename

這會建立go.mod 和go目前目錄中的.sum 檔。

導入語句

使用 import引用其他目錄中的套件的語句。例如,如果 Module2 位於 /root/module2,並且包含名為 module2 的套件,則 Module1 中的 import語句將會為:

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

檔案結構

假設下列檔案結構:

\root
└── module1
    ├── go.mod
    └── main.go

└── module2
    ├── go.mod
    └── module2.go

go.mod檔

模組1:

module github.com/username/module1

require (
    github.com/username/module2 v0.0.1
)

模組2:

module github.com/username/module2

go 1.13

main.go(模組1)

package main

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

func main() {
    fmt.Println(module2.Name())
}

module2.go (Module2)

package module2

import "fmt"

func Name() string {
    return "Module 2"
}

依照以下步驟,您可以引用非 GOPATH 目錄中的模組,從而實現 Go 專案中程式碼的複用和模組化。

以上是如何從 GOPATH 外部引用 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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