Les bibliothèques personnalisées peuvent-elles déclencher des erreurs de temps de compilation dans Golang ?
Dans Golang, il n'est pas possible de déclencher une erreur de compilation lors de l'appel d'un fonction avec des paramètres variadiques sans arguments. L'appel de fonction min() est considéré comme valide par la spécification du langage.
Cependant, une solution de contournement existe pour forcer le passage d'au moins un argument. En modifiant la signature de fonction pour inclure un paramètre non variadique et un paramètre variadique, une erreur de compilation peut être générée.
Signature de fonction modifiée :
func min(first int, rest ...int) int { // ... Same logic as before }
Cette signature nécessite au moins un argument (le premier) et autorise plusieurs arguments supplémentaires (repos).
Utilisation :
// This is now a compile-time error min() // Valid calls min(1) min(1, 2) min(1, 2, -3)
Remarque :
La modification ci-dessus améliore l'efficacité si un seul argument est transmis car aucune tranche n’est créée. Cependant, les tranches peuvent toujours être transmises à l'aide d'une technique telle que :
s := []int{1, 2, -3} min(s[0], s[1:]...) // Pass first element and sliced slice as variadic parameter
Si la modification de la signature de la fonction n'est pas réalisable, la panique à l'exécution ou la sortie de l'application est la seule option pour gérer les arguments manquants.
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!