Dalam Go, penyata import digunakan untuk mengimport pakej. Pakej digunakan untuk menyusun kod ke dalam unit logik. Apabila mengimport pakej, anda boleh menggunakan import tempatan atau import bukan tempatan.
Import tempatan mengimport pakej daripada direktori kerja semasa. Import bukan tempatan mengimport pakej dari direktori lain.
Berikut ialah struktur fail:
. ├── bin │ └── hello ├── pkg └── src └── jacob.uk.com ├── greeting │ └── greeting.go └── helloworld.go
dengan GOPATH berikut:
/Users/clarkj84/Desktop/LearningGo
Jika anda melaksanakan arahan berikut dalam src folder:
/usr/local/go/bin/go install jacob.uk.com
anda akan mendapat ralat berikut:
local import "./greeting" in non-local package
Ralat ini berlaku kerana anda menggunakan import tempatan dalam pakej bukan tempatan.
Untuk membetulkan ralat ini, anda boleh menukar direktori kerja kepada src/jacob.uk.com dan kemudian laksanakan go install tanpa menyatakan pakej. Jika anda mempunyai fail helloworld.go dengan kandungan berikut:
package main import "./greeting" func main() { }
anda akan mendapat ralat penyusunan yang menyatakan "diimport dan tidak digunakan." Sebaik sahaja anda menggunakan sesuatu daripada pakej ucapan yang diimport, ia harus disusun.
Walau bagaimanapun, tidak disyorkan untuk menggunakan import tempatan. Sebaliknya, anda harus menggunakan pernyataan import berikut:
import "jacob.uk.com/greeting"
Dengan menggunakan pernyataan import ini, anda akan dapat menyusun, menjalankan dan memasang kod anda dari mana-mana sahaja.
Atas ialah kandungan terperinci Mengapa Go Mengembalikan Ralat 'import tempatan dalam pakej bukan tempatan' dan Bagaimana Ia Boleh Diselesaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!