Dans Go, une fonction avec des paramètres variadiques peut accepter zéro ou plusieurs arguments. Bien qu'il soit valable d'appeler une telle fonction sans fournir d'arguments, cela n'est pas toujours souhaitable.
Prenons l'exemple d'une fonction min() qui calcule la valeur minimale à partir d'un ensemble d'entrées. Il est crucial qu'au moins un paramètre soit fourni à cette fonction pour qu'elle fonctionne correctement.
Puisque l'appel d'une fonction variadique sans argument est autorisé par le spécification du langage, il n'est pas possible de déclencher une erreur de compilation directement à l'aide d'une fonction variadique.
Cependant, une solution de contournement consiste à modifier la signature de la fonction pour inclure à la fois un paramètre non variadique et un paramètre variadique. Cela garantit que l'appelant doit fournir au moins un argument :
func min(first int, rest ...int) int { // Implementation to find the minimum value }
Avec cette signature, appeler la fonction min() sans aucun argument entraîne une erreur de compilation :
min() // Error: not enough arguments in call to min
Si la modification de la signature de la fonction n'est pas réalisable, la seule alternative est de vérifier la présence d'arguments au moment de l'exécution. En cas de nombre d'arguments insuffisant, vous pouvez soit paniquer, soit quitter l'application. Cependant, cette approche ne peut pas déclencher une erreur de compilation.
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!