Rumah > Artikel > pembangunan bahagian belakang > Mengapa Import Relatif Berfungsi dalam Direktori Rumah Saya tetapi Tidak Di Dalam 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!