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 }
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) }
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) }
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 }
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!