Maison > développement back-end > Golang > le corps du texte

Comment utiliser un type défini dans un package dans un autre package en Go ?

DDD
Libérer: 2024-11-22 05:09:21
original
973 Les gens l'ont consulté

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

Importation de packages et de types dans Go

Dans Go, les packages encapsulent le code et les données associés. Pour réutiliser les fonctionnalités d'un package dans un autre, vous devez importer le premier package dans ce dernier.

Problème : Importer un type d'un package à un autre

Considérez la structure de projet suivante :

src
|-->config
       |--> config.go
|-->otherPackage
       |--> otherFile.go
|-->main.go
Copier après la connexion

Le fichier config.go contient une définition de type pour Config :

package config

type Config struct {
    // ...
}
Copier après la connexion

Vous souhaitez utiliser le type Config dans le fichier otherFile.go :

package otherPackage

func SomeFunction(target float64, entries [2]float64, config config.Config) {
    // ...
}
Copier après la connexion

Erreur d'importation : "importé et non utilisé" et "non défini : Config"

Lors de la tentative d'importation du package de configuration, vous rencontrez les erreurs suivantes :

  • "importé et non utilisé"
  • "non défini : Config"

La première erreur indique que vous avez importé le package de configuration mais que vous ne l'utilisez nulle part dans votre code. La deuxième erreur indique que le type de configuration n'est pas reconnu dans la portée actuelle.

Solution : Utilisation de noms qualifiés pour les types importés

Pour résoudre ce problème, vous devez importer le package en utilisant son contenu complet. chemin au lieu d’un chemin relatif. De plus, vous devez qualifier le type Config avec son nom de package lorsque vous le référencez dans votre code.

package otherPackage

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

func SomeFunction(target float64, entries [2]float64, config config.Config) {
    // ...
}
Copier après la connexion

En important le package avec son chemin complet, vous indiquez explicitement où trouver le type Config. Qualifier le type avec son nom de package garantit que le compilateur sait à quel type de configuration vous faites référence.

Remarque : Si le nom du package que vous importez est le même qu'une variable ou saisissez votre portée actuelle, vous devrez renommer la variable ou le type pour éviter les conflits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal