Maison > développement back-end > Golang > Comment puis-je définir les valeurs par défaut pour les paramètres de fonction dans Go ?

Comment puis-je définir les valeurs par défaut pour les paramètres de fonction dans Go ?

Linda Hamilton
Libérer: 2024-12-30 12:45:14
original
297 Les gens l'ont consulté

How Can I Set Default Values for Function Parameters in Go?

Définition des valeurs par défaut dans les fonctions Go

Bien que Go ne fournisse pas de moyen natif de spécifier les valeurs par défaut dans les paramètres de fonction, plusieurs approches alternatives peuvent obtenir cette fonctionnalité.

Option 1 : contrôlé par l'appelant Valeurs par défaut

Dans cette approche, l'appelant peut spécifier explicitement des valeurs par défaut en vérifiant si un paramètre est vide ou nul. Par exemple :

func SaySomething(i string) string {
  if i == "" {
    i = "Hello"
  }

  return i
}
Copier après la connexion

Option 2 : Paramètres facultatifs

Vous pouvez définir un paramètre comme facultatif en le plaçant à la fin de la liste des paramètres. Dans ce cas, la fonction utilisera une valeur par défaut si aucun argument n'est fourni.

func Concat(a string, b int) string {
  if b == 0 {
    b = 5
  }

  return a + strconv.Itoa(b)
}
Copier après la connexion

Option 3 : Configuration Struct

Créer une structure avec des valeurs par défaut pour les paramètres de votre fonction. Cela fournit un moyen déclaratif de définir les valeurs par défaut.

type Config struct {
  Name string `default:"John Doe"`
  Age  int    `default:"0"`
}

func Greet(c Config) string {
  return fmt.Sprintf("Hello, %s! You are %d years old.", c.Name, c.Age)
}
Copier après la connexion

Option 4 : Arguments variadiques

Cette approche vous permet d'analyser les arguments entrants et de définir les valeurs par défaut en conséquence.

func ProcessArgs(args ...interface{}) {
  a := "default-a"
  b := 5

  for _, arg := range args {
    switch v := arg.(type) {
      case string:
        a = v
      case int:
        b = v
    }
  }

  // Use a and b
}
Copier après la connexion

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