English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les fonctions appelées avec un nombre variable de paramètres sont appelées fonctions avec paramètres variables. En d'autres termes, cela permet à l'utilisateur de passer zéro ou plusieurs paramètres dans une fonction variable.fmt.PrintfC'est un exemple de fonction avec paramètres variables, qui a besoin d'un paramètre fixe au début et peut accepter un nombre quelconque de paramètres après cela.
Matière à savoir :
Dans la déclaration d'une fonction avec paramètres variables, le type du dernier paramètre est précédé d'un point d'interrogation, c'est-à-dire (…)。Cela indique que la fonction peut appeler un nombre quelconque de paramètres de ce type
Syntaxe :
function function_name(para1, para2...type)type{ // code... }
function function ...typedecomportement est similaire à celui d'un segment (slice). Par exemple, supposons que nous ayons une signature de fonction, c'est-à-dire add(b...int) int, qui est maintenant un paramètre de type [] int.
Vous pouvez également transmettre des segments existants à une fonction avec des paramètres variables. À cette fin, nous transmettons une partie complète de l'array à la fonction, comme dans l'exemple suivant,Exemple2comme montré.
Lorsque vous ne transmettez aucun paramètre à une fonction avec des paramètres variables, la valeur par défaut dans la fonction interne est nil.
Les fonctions avec des paramètres variables sont généralement utilisées pour le formatage des chaînes.
Vous pouvez également transmettre plusieurs segments à une fonction avec des paramètres variables.
Vous ne pouvez pas utiliser les paramètres variables en tant que valeur de retour, mais vous pouvez les retourner sous forme de segment.
Exemple de démonstration avec zéro et plusieurs paramètres :
package main import ( "fmt" "strings" ) //Fonction de concaténation de chaînes avec des paramètres variables func joinstr(element ...string) string { return strings.Join(element, "")-") } func main() { //Aucun paramètre fmt.Println(joinstr()) //Plusieurs paramètres fmt.Println(joinstr("GEEK", "GFG")) fmt.Println(joinstr("Geeks", "for", "Geeks")) fmt.Println(joinstr("G", "E", "E", "k", "S")) }
Sortie :
GEEK-GFG Geeks-for-Geeks G-E-E-k-S
Exemple2,Fonction de concaténation de chaînes avec des paramètres variables,Transmettre un segment à une fonction avec des paramètres variables :
package main import( "fmt" "strings" ) //Fonction de concaténation de chaînes avec des paramètres variables func joinstr(element...string)string{ return strings.Join(element, "")-") } func main() { //Transmettre un segment à une fonction avec des paramètres variables element:= []string{"geeks", "FOR", "geeks"} fmt.Println(joinstr(element...)) }
Sortie :
geeks-FOR-geeks
Lorsque nous utilisons une fonction avec des paramètres variables :
Lorsque vous devez transmettre un segment à une fonction, utilisez une fonction avec des paramètres variables.
Lorsque nous ne connaissons pas le nombre de paramètres, nous utilisons une fonction avec des paramètres variables.
Lorsque l'on utilise une fonction avec des paramètres variables dans un programme, cela peut augmenter la lisibilité du programme.