Maison > développement back-end > Golang > Quand et pourquoi utiliser des arguments de fonction sans nom dans Go ?

Quand et pourquoi utiliser des arguments de fonction sans nom dans Go ?

Susan Sarandon
Libérer: 2024-12-20 05:47:17
original
184 Les gens l'ont consulté

When and Why Use Unnamed Function Arguments in Go?

Arguments de fonction sans nom dans Go

Go permet de laisser les arguments de fonction sans nom, ce qui peut sembler déroutant au premier abord. Cependant, cette fonctionnalité sert à plusieurs fins et a des règles de syntaxe claires.

Selon la spécification Go, ParameterDecl (déclaration de paramètre) est :

ParameterDecl  = [ IdentifierList ] [ "..." ] Type .
Copier après la connexion

Le IdentifierList (le ou les noms de l'identifiant) est facultatif, indiquant que seul le Type est obligatoire.

Pourquoi utiliser des arguments sans nom ?

Les arguments sans nom sont généralement utilisés dans les scénarios où :

  • Le le paramètre est présent mais non utilisé/référencé. Cela se produit lorsqu'une fonction souhaite implémenter une interface ou transmettre une valeur de fonction avec une signature spécifique.
  • Documentation. Les paramètres sans nom indiquent que l'argument n'est pas destiné à être utilisé.
  • Compatibilité ascendante. Lors de la mise à jour d'une bibliothèque, des paramètres supplémentaires peuvent être introduits sans rompre la compatibilité ascendante en les laissant sans nom.

Règles de syntaxe

Le mélange de paramètres nommés et sans nom n'est pas autorisé . Si certains paramètres sont nommés, tous doivent être nommés. Alternativement, l'identifiant vide (_) peut être utilisé pour indiquer qu'un paramètre ne doit pas être référencé.

Exemple

Considérez l'interface MyWriter :

type MyWriter interface {
    Write(p []byte) error
}
Copier après la connexion

Une implémentation de cette interface qui supprime les données pourrait être écrite comme suit :

type DiscardWriter struct{}

func (DiscardWriter) Write([]byte) error { return nil }
Copier après la connexion

Le type DiscardWriter a un paramètre sans nom car il n'utilise pas l'argument passé à la méthode Write.

En conclusion, les arguments de fonction sans nom dans Go offre flexibilité et clarté lorsqu’il s’agit de paramètres présents mais non utilisés. Ils facilitent la mise en œuvre de l'interface, documentent les paramètres inutilisés et permettent une expansion future sans rompre la compatibilité ascendante.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal