English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
用不同数量的参数调用的函数称为可变参数函数。换句话说,允许用户在可变函数中传递零个或多个参数。fmt.Printf是可变参数函数的示例,它在开始时需要一个固定的参数,之后它可以接受任意数量的参数。
重要事项:
在可变参数函数的声明中,最后一个参数的类型前面带有省略号,即(...)。这表明该函数可以调用任意数量的这种类型的参数
Sintassi:
function function_name(para1, para2...type)type{ // code... }
funzione function …typediIl comportamento è simile a una slice (slice). Ad esempio, supponiamo di avere una firma di funzione, ossia add(b…int)int, che ora è un parametro di tipo type [] int.
Si può anche passare una slice esistente alla funzione con parametri variabili. Per fare questo, passeremo una parte dell'array alla funzione, come nell'esempio seguente.Esempio 2come mostrato.
Quando non si passano parametri alla funzione con parametri variabili, il valore predefinito all'interno della funzione è nil.
Le funzioni con parametri variabili sono spesso utilizzate per la formattazione delle stringhe.
Si può anche passare più slice alla funzione con parametri variabili.
Non si può utilizzare un parametro variabile come valore di ritorno, ma si può restituire come slice.
Esempio di演示 con zero e più parametri:
package main import ( "fmt" "strings" ) // Funzione con parametri variabili per unire stringhe func joinstr(element ...string) string { return strings.Join(element, "-") } func main() { // Senza parametri fmt.Println(joinstr()) // Parametri multipli fmt.Println(joinstr("GEEK", "GFG")) fmt.Println(joinstr("Geeks", "for", "Geeks")) fmt.Println(joinstr("G", "E", "E", "k", "S")) }
Output:
GEEK-GFG Geeks-for-Geeks G-E-E-k-S
Esempio 2, unire stringhe con funzione con parametri variabili, passaggio di una sezione alla funzione con parametri variabili:
package main import( "fmt" "strings" ) // Funzione con parametri variabili per unire stringhe func joinstr(element...string)string{ return strings.Join(element, "-") } func main() { // Passaggio di una sezione alla funzione con parametri variabili element:= []string{"geeks", "FOR", "geeks"} fmt.Println(joinstr(element...)) }
Output:
geeks-FOR-geeks
Quando si utilizza una funzione con parametri variabili:
Quando si deve passare un'intera sezione alla funzione, utilizzare una funzione con parametri variabili.
Quando non si conosce il numero di parametri, si utilizza una funzione con parametri variabili.
Quando si utilizza una funzione con parametri variabili nel programma, può aumentare la leggibilità del programma.