Rumah >pembangunan bahagian belakang >Golang >Mengapa Saya Mendapat Ralat 'Diimport dan Tidak Digunakan' dan 'Tidak Ditakrifkan' Semasa Mengimport Jenis Tertentu dalam Go?

Mengapa Saya Mendapat Ralat 'Diimport dan Tidak Digunakan' dan 'Tidak Ditakrifkan' Semasa Mengimport Jenis Tertentu dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 12:03:02289semak imbas

Why Am I Getting

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:

  • Diimport dan tidak digunakan.
  • Tidak ditentukan: Config

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:

  • Namakan semula pembolehubah konfigurasi: Memandangkan dalam otherFile.go terdapat pembolehubah bernama config, yang membayangi pakej yang diimport, ia sepatutnya dinamakan semula untuk mengelakkan konflik.
  • Config Rujukan menggunakan nama yang layak: Jika penamaan semula bukan pilihan, maka jenis Config masih boleh digunakan dengan merujuknya dengan nama yang layak, yang akan config.Config.

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!

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