Bagaimana untuk Menggunakan Jenis Ditakrifkan dalam Satu Pakej dalam Pakej Lain dalam Go?

DDD
Lepaskan: 2024-11-22 05:09:21
asal
945 orang telah melayarinya

How to Use a Type Defined in One Package in Another Package in Go?

Mengimport Pakej dan Jenis dalam Go

Dalam Go, pakej merangkumi kod dan data yang berkaitan. Untuk menggunakan semula fungsi daripada satu pakej dalam pakej yang lain, anda mesti mengimport pakej pertama ke dalam pakej yang kedua.

Masalah: Mengimport Jenis dari Satu Pakej ke Pakej Lain

Pertimbangkan struktur projek berikut:

src
|-->config
       |--> config.go
|-->otherPackage
       |--> otherFile.go
|-->main.go
Salin selepas log masuk

Fail config.go mengandungi definisi jenis untuk Config:

package config

type Config struct {
    // ...
}
Salin selepas log masuk

Anda mahu menggunakan Taipkan konfigurasi dalam fail otherFile.go:

package otherPackage

func SomeFunction(target float64, entries [2]float64, config config.Config) {
    // ...
}
Salin selepas log masuk

Ralat Import: "diimport dan tidak digunakan" dan "undefined: Config"

Apabila cuba mengimport pakej konfigurasi, anda menghadapi ralat berikut:

  • "diimport dan tidak used"
  • "undefined: Config"

Ralat pertama menunjukkan bahawa anda telah mengimport pakej konfigurasi tetapi tidak menggunakannya di mana-mana dalam kod anda. Ralat kedua menunjukkan bahawa jenis Config tidak dikenali dalam skop semasa.

Penyelesaian: Menggunakan Nama Layak untuk Jenis Diimport

Untuk menyelesaikan isu ini, anda perlu mengimport pakej menggunakan sepenuhnya laluan bukannya laluan relatif. Selain itu, anda perlu melayakkan jenis Config dengan nama pakejnya apabila merujuknya dalam kod anda.

package otherPackage

import (
    "fmt"
    "math"
    "your-project/src/config"
)

func SomeFunction(target float64, entries [2]float64, config config.Config) {
    // ...
}
Salin selepas log masuk

Dengan mengimport pakej dengan laluan penuhnya, anda menyatakan dengan jelas tempat untuk mencari jenis Config. Melayakkan jenis dengan nama pakejnya memastikan pengkompil mengetahui jenis Config yang anda rujuk.

Nota: Jika nama pakej yang anda import adalah sama dengan pembolehubah atau taipkan skop semasa anda, anda perlu menamakan semula pembolehubah atau taip untuk mengelakkan konflik.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Jenis Ditakrifkan dalam Satu Pakej dalam Pakej Lain dalam Go?. 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