Dalam Go, mengimport pakej tempatan boleh menimbulkan cabaran apabila projek berada dalam GOPATH/src direktori. Soalan ini meneroka mengapa mengimport pakej tempatan mungkin gagal daripada direktori GOPATH/src tetapi berjaya apabila dialihkan ke direktori utama.
Punca Masalah
Ralat yang dihadapi apabila percubaan untuk mengimport pakej tempatan daripada GOPATH/src adalah disebabkan terutamanya oleh penggunaan laluan import relatif. Laluan import relatif menyediakan cara yang mudah untuk merujuk kepada pakej dalam projek tetapi tidak disokong sepenuhnya oleh arahan bina dan pasang Go.
Penyelesaian
Untuk menyelesaikan isu ini , adalah disyorkan untuk mengelak daripada menggunakan laluan import relatif dan sebaliknya ikuti garis panduan bahasa pengaturcaraan Go untuk penstrukturan kod. Ini melibatkan penyusunan kod anda ke dalam hierarki pakej, setiap satu dengan direktorinya sendiri dan menggunakan laluan import mutlak untuk merujuk pakej ini.
Contoh
Pertimbangkan projek berikut struktur:
/usr/local/go/src/myproject - main.go - models - product.go
Dalam struktur ini, fail main.go boleh mengimport pakej model menggunakan laluan import mutlak:
package main import ( "myproject/models" "fmt" "github.com/gin-gonic/gin" )
Nota Tambahan
Dengan mengikut garis panduan ini, anda boleh berjaya mengimport pakej tempatan dalam Go, tanpa mengira lokasinya dalam direktori GOPATH.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengimport Pakej Tempatan daripada GOPATH/src dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!