Rumah >pembangunan bahagian belakang >Golang >Mengapa Saya Mendapat Ralat Import Apabila Menggunakan Laluan Relatif dalam GOPATH/src?

Mengapa Saya Mendapat Ralat Import Apabila Menggunakan Laluan Relatif dalam GOPATH/src?

Barbara Streisand
Barbara Streisandasal
2024-11-01 01:38:02653semak imbas

Why Do I Get Import Errors When Using Relative Paths Within GOPATH/src?

Sekatan Import GOPATH: Memahami Laluan Relatif dan Mutlak

Apabila mengimport pakej dalam Go, lokasi direktori projek memainkan peranan penting. Seperti yang ditunjukkan oleh contoh yang diberikan, menggunakan import relatif dalam direktori GOPATH/src/projek boleh membawa kepada ralat import.

Mekanisme import Go membezakan antara laluan import mutlak dan relatif. Laluan import mutlak bermula dengan garis miring (/) dan merujuk kepada akar ruang kerja Go. Sebaliknya, laluan import relatif bermula dengan noktah (.) dan adalah relatif kepada direktori semasa.

Dalam contoh yang diberikan, fail main.go cuba mengimport pakej model menggunakan laluan relatif ( "./models"). Walau bagaimanapun, laluan ini tidak dikenali apabila projek terletak dalam direktori GOPATH/src/projek. Ini kerana alatan go build and go install tidak menyokong import relatif sepenuhnya.

Untuk memastikan keserasian dengan alatan Go, disyorkan untuk menggunakan laluan import mutlak untuk pakej di luar direktori semasa. Dalam kes ini, pernyataan import yang betul ialah:

import "models"

Laluan import mutlak ini merujuk kepada pakej model dalam direktori yang sama dengan fail main.go, tanpa mengira lokasi projek dalam GOPATH.

Ringkasnya, laluan import relatif dalam Go adalah terhad dalam penggunaannya. Laluan import mutlak hendaklah sentiasa digunakan apabila mengimport pakej dari luar direktori semasa untuk memastikan konsistensi dan mengelakkan kemungkinan ralat import.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Import Apabila Menggunakan Laluan Relatif dalam GOPATH/src?. 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