Maison  >  Article  >  développement back-end  >  Comment puis-je accéder aux fonctions du package dans Go sans noms de package explicites ?

Comment puis-je accéder aux fonctions du package dans Go sans noms de package explicites ?

DDD
DDDoriginal
2024-11-03 06:12:30384parcourir

How Can I Access Package Functions in Go Without Explicit Package Names?

Accès aux fonctions de package sans noms de package explicites

Dans Go, il est généralement considéré comme une bonne pratique de faire référence aux fonctions de package en utilisant leurs noms de package qualifiés. Cependant, il existe certaines situations dans lesquelles vous souhaiterez peut-être appeler des fonctions de package sans utiliser le nom du package.

Utilisation de l'importation de période explicite

Une façon d'importer un package sans utiliser son nom de package consiste à utiliser l’importation de point (.) explicite. Cela indique au compilateur d'importer tous les identifiants exportés déclarés dans le bloc package du package dans le bloc du fichier d'importation. Ces identifiants sont alors accessibles sans qualificatif.

Exemple :

<code class="go">package main

import (
    . "fmt"
)

func main() {
    Println("Hello, playground")
}</code>

Remarque : L'utilisation de l'import de point explicite est déconseillée dans la communauté Go car elle rend les programmes plus difficiles à lire. Il n'est pas clair si un nom est un identifiant au niveau du package dans le package actuel ou dans un package importé.

Utilisation de variables au niveau du package et d'alias de type

Une autre option consiste à déclarer une variable au niveau du package avec une référence à la fonction. Vous pouvez également utiliser un alias de type pour référencer les types.

Exemple :

<code class="go">package main

import (
    "fmt"
)

var Println = fmt.Println

type ScanState = fmt.ScanState // type alias

func main() {
    Println("Hello, playground")
}</code>

Cette approche vous permet d'utiliser l'identifiant sans le nom du package, mais elle introduit une syntaxe supplémentaire et peut être plus verbeux.

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!

Déclaration:
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