Import Pakej dan Jenis
Soalan:
Dalam struktur projek berikut:
src |-->config |--> config.go |-->otherPackage |--> otherFile.go |-->main.go
Terdapat jenis yang ditakrifkan dalam config.go yang perlu digunakan dalam otherFile.go. Walau bagaimanapun, percubaan untuk mengimportnya menggunakan pernyataan berikut mengakibatkan ralat:
import ( "fmt" "math" "../config" )
Ralat khusus ialah:
Walaupun jenis Config digunakan dalam fungsi pengisytiharan.
Apakah masalah yang mendasarinya?
Jawapan:
Isu ini berpunca daripada cubaan mengimport hanya jenis tertentu daripada pakej. Dalam Go, tidak mungkin untuk mengimport elemen tertentu daripada pakej. Apabila mengimport pakej, anda pada asasnya mengimport keseluruhan kandungannya.
Dalam kes ini, memandangkan pakej yang ditakrifkan jenis Config dinamakan konfigurasi, mengimportnya akan menjadikan jenis dan pengecam lain tersedia di bawah ruang nama konfigurasi . Contohnya, untuk menggunakan Config, ia mesti dirujuk sebagai config.Config.
Oleh itu, untuk menyelesaikan masalah, salah satu daripada penyelesaian berikut boleh digunakan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Diimport dan Tidak Digunakan' dan 'Tidak Ditakrifkan' Semasa Mengimport Jenis Tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!