Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Modul Merentasi Direktori Berbeza dalam Struktur Projek Go yang Disemak?

Bagaimana untuk Mengakses Modul Merentasi Direktori Berbeza dalam Struktur Projek Go yang Disemak?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-26 03:58:15891semak imbas

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

Mengakses Modul dalam Struktur Projek Golang yang Disemak

Sejak Go versi 1.11, pengurusan modul telah mengalami perubahan ketara. Untuk memahami cara merujuk modul daripada direktori lain dalam struktur projek baharu, mari kita periksa persediaan folder anda:

\root\module1
\root\module2

Setiap direktori mengandungi fail go.mod, dan anda boleh berjaya mengakses modul ini dalam direktori akar. Walau bagaimanapun, untuk mengakses modul2 daripada modul1, ikuti langkah berikut:

CARA LAMA

Dalam pendekatan tradisional, modul mesti diletakkan dalam pembolehubah persekitaran GOPATH agar boleh diakses. Folder GOPATH biasanya mempunyai struktur berikut:

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

Anda boleh mengimport fail struktur data bernama datastructures.go dari module2 dalam modul1 menggunakan pernyataan import:

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

CARA BARU

Pendekatan moden terhadap pengurusan modul melibatkan penggunaan go mod init arahan:

go mod init github.com/username/modulename

Ini menjana fail go.mod dan go.sum. Fail go.mod mengandungi kebergantungan, manakala go.sum menyimpan cincang mereka. Sebagai contoh, fail go.mod anda untuk modul2 mungkin kelihatan seperti:

module github.com/username/module2

go 1.13

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

Kini, anda boleh mengimport modul2 dalam modul1:

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

Kaedah ini membolehkan anda mengakses modul anda tanpa perlu menerbitkannya atau meletakkannya di GOPATH.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Modul Merentasi Direktori Berbeza dalam Struktur Projek Go yang Disemak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn