Maison > Article > développement back-end > Comment éviter les collisions de noms lors des importations de packages Go ?
Surmonter la collision de noms de Go avec les importations de packages
Dans Go, il est courant d'utiliser des packages pour organiser et réutiliser le code, mais de temps en temps, vous peut rencontrer une collision dans les noms de fonctions entre différents packages. Cela peut entraver votre capacité à appeler une fonction sans spécifier son nom de package.
L'exemple fourni dans la question présente un tel scénario, dans lequel vous souhaitez importer le package fmt et appeler sa fonction Println sans mentionner explicitement fmt.
Bien que Go ne fournisse pas d'équivalent direct à l'importation statique de C#, il existe deux alternatives viables :
1. The Dot Import
La spécification permet l'utilisation du point explicite (.) lors de l'importation pour rendre tous les identifiants exportés de ce package disponibles sans qualificatif.
Exemple :
package main import ( . "fmt" ) func main() { Println("Hello, playground") }
2. Variables au niveau du package ou alias de type
Une autre approche consiste à créer des variables au niveau du package qui font référence aux fonctions dont vous avez besoin.
Exemple :
package main import ( "fmt" ) var Println = fmt.Println type ScanState = fmt.ScanState // type alias func main() { Println("Hello, playground") }
Attention :
Bien que l'importation de points offre une solution, elle est déconseillée au sein de la communauté Go en raison de son potentiel de problèmes de lisibilité du code. La méthode préférée consiste à utiliser des variables au niveau du package ou des alias de type, qui offrent une plus grande clarté.
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!