Mengapa Import Relatif Berfungsi dalam Direktori Rumah Saya tetapi Tidak Di Dalam GOPATH?

Patricia Arquette
Lepaskan: 2024-10-31 13:52:01
asal
160 orang telah melayarinya

Why Do Relative Imports Work in My Home Directory but Not Inside the GOPATH?

Mengimport Pakej Tempatan dalam Go: Mengapa GOPATH dan Direktori Laman Utama Membuat Perbezaan

Go menawarkan cara yang mudah untuk mengimport pakej tempatan menggunakan relatif laluan. Walau bagaimanapun, pendekatan ini mempunyai had apabila pakej berada dalam GOPATH.

Peranan GOPATH

GOPATH menentukan direktori tempat Go akan mencari pakej. Dalam contoh yang diberikan, projek itu terletak di $GOPATH/src/project, bermakna Go akan menjangkakan nama pakej sepadan dengan struktur direktori.

Had Import Relatif

Laluan import relatif membolehkan anda merujuk pakej dalam direktori semasa atau subdirektorinya. Dalam kes ini, pakej "model" terletak dalam subdirektori "model" projek.

Walau bagaimanapun, apabila menyusun atau memasang pakej menggunakan go build atau go install, import relatif tidak disokong sepenuhnya. Alat ini mengharapkan laluan pakej mutlak atau mengikut struktur standard yang diterangkan dalam "Cara Menulis Kod Go."

Pengecualian Direktori Laman Utama

Apabila projek berada dalam direktori rumah (cth., ~/project), import relatif berfungsi seperti yang diharapkan. Ini kerana direktori rumah bukan sebahagian daripada GOPATH dan Go akan mencari pakej dalam direktori semasa dan subdirektorinya.

Penyelesaian

Untuk mengatasi batasan import relatif dalam GOPATH, adalah disyorkan untuk menstrukturkan kod anda mengikut garis panduan yang disediakan dalam "Cara Menulis Kod Go." Ini melibatkan penggunaan laluan import mutlak atau mengatur pakej anda dengan cara yang sejajar dengan struktur GOPATH.

Atas ialah kandungan terperinci Mengapa Import Relatif Berfungsi dalam Direktori Rumah Saya tetapi Tidak Di Dalam GOPATH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!