Pengenalan modul Go dalam Go 1.11 memperkenalkan perubahan dalam rujukan modul dan pakej daripada direktori bukan GOPATH.
Lama Cara
Secara tradisinya, modul Go diperlukan untuk berada dalam GOPATH. Modul dan pakej dalam direktori ini boleh diimport menggunakan sintaks berikut:
import ( "github.com/username/modulename/subpackage" )
Cara Baharu
Dengan modul Go, pendekatan ini telah berubah. Pakej kini boleh berada di luar GOPATH. Untuk merujuk pakej daripada direktori lain:
Memulakan modul baharu menggunakan arahan go mod init:
go mod init github.com/username/modulename
Ini mencipta go.mod dan go .sum fail dalam direktori semasa.
Gunakan import penyata kepada pakej rujukan daripada direktori lain. Sebagai contoh, jika Module2 terletak di /root/module2, dan mengandungi pakej bernama module2, pernyataan import dalam Modul1 ialah:
import ( "github.com/username/module2" )
Andaikan struktur fail berikut :
\root └── module1 ├── go.mod └── main.go └── module2 ├── go.mod └── module2.go
Modul1:
module github.com/username/module1 require ( github.com/username/module2 v0.0.1 )
Modul2:
module github.com/username/module2 go 1.13
package main import ( "fmt" "github.com/username/module2" ) func main() { fmt.Println(module2.Name()) }
package module2 import "fmt" func Name() string { return "Module 2" }
Dengan mengikuti langkah ini, anda boleh merujuk modul daripada direktori bukan GOPATH, membolehkan penggunaan semula kod dan modulariti dalam projek Go.
Atas ialah kandungan terperinci Bagaimanakah Saya Merujuk Modul Go dari Luar GOPATH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!