Rumah > pembangunan bahagian belakang > Golang > Mengapa 'import tempatan' Gagal Apabila Mengimport Pakej Go Bukan Tempatan?

Mengapa 'import tempatan' Gagal Apabila Mengimport Pakej Go Bukan Tempatan?

DDD
Lepaskan: 2024-12-15 10:35:10
asal
584 orang telah melayarinya

Why Does

Import Tempatan dalam Pakej Bukan Tempatan: Memahami Ralat

Dalam Go, import tempatan digunakan untuk mengimport pakej daripada direktori yang sama atau subdirektori direktori kerja semasa. Walau bagaimanapun, teknik ini tidak boleh digunakan apabila mengimport pakej bukan tempatan, seperti yang dibuktikan oleh ralat "import tempatan "./greeting" dalam pakej bukan tempatan."

Punca Ralat

Untuk memahami ralat, mari kita periksa struktur fail yang disediakan:

/Users/clarkj84/Desktop/LearningGo
└── src
    └── jacob.uk.com
        ├── greeting
        │   └── greeting.go
        └── helloworld.go
Salin selepas log masuk

Isu timbul apabila cuba melaksanakan go install jacob.uk.com dari dalam direktori src. Perintah ini cuba memasang pakej jacob.uk.com, yang termasuk import ./greeting dalam helloworld.go. Walau bagaimanapun, Go mentafsir ini sebagai import tempatan kerana ia dilaksanakan daripada direktori src, manakala pakej itu sendiri tidak terletak dalam src.

Penyelesaian

Untuk menyelesaikan ralat, dua pilihan tersedia :

  1. Tukar Direktori Kerja: Navigasi ke src/jacob.uk.com dan laksanakan pasang tanpa menyatakan pakej. Ini membolehkan Go menyelesaikan import dengan betul sebagai import tempatan.
  2. Gunakan Laluan Import Mutlak: Gantikan import tempatan dengan laluan import mutlak:
import "jacob.uk.com/greeting"
Salin selepas log masuk

Pendekatan ini membolehkan pakej diimport dan digunakan tanpa mengira direktori kerja.

Kelebihan Mutlak Import

Import mutlak menawarkan beberapa kelebihan berbanding import tempatan:

  • Kejelasan: Mereka menyatakan secara eksplisit lokasi pakej yang diimport, menjadikannya lebih mudah untuk difahami dan diselenggara.
  • Kemudahalihan: Import mutlak membenarkan kod disusun dan dijalankan dari mana-mana lokasi tanpa perlu menukar laluan import.
  • Keserasian Modul Go: Pembangunan Modern Go bergantung pada modul Go, yang menggunakan laluan import mutlak secara lalai.

Atas ialah kandungan terperinci Mengapa 'import tempatan' Gagal Apabila Mengimport Pakej Go Bukan Tempatan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan