English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As funções chamadas com diferentes números de parâmetros são chamadas de funções de parâmetros variáveis. Em outras palavras, permite que o usuário passe zero ou mais parâmetros em uma função variável.fmt.PrintfEste é um exemplo de função de parâmetros variáveis, que precisa de um parâmetro fixo no início e pode aceitar qualquer número de parâmetros subsequentes.
Ponto importante:
No último parâmetro do declaração da função de parâmetros variáveis, antes do tipo do parâmetro há um ponto de interrogação, ou seja, (…)。Isso indica que a função pode chamar qualquer número desses tipos de parâmetros
Sintaxe:
function function_name(para1, para2...type)type{ // code... }
function function ...typedoO comportamento é semelhante ao de fatias (slice). Por exemplo, supondo que tenhamos uma assinatura de função, ou seja, add(b...int)int, agora é o parâmetro type []int.
Você também pode passar fatias existentes para uma função de parâmetros variáveis. Para isso, passamos uma parte completa do array para a função, conforme o exemplo a seguirExemplo2Como mostrado.
Quando você não passar nenhum parâmetro para uma função de parâmetros variáveis, o valor padrão interno é nil.
As funções de parâmetros variáveis são geralmente usadas para formatação de strings.
Você também pode passar várias fatias para uma função de parâmetros variáveis.
Você não pode usar parâmetros variáveis como valor de retorno, mas pode retorná-los como fatias.
Exemplo de demonstração de zero e múltiplos parâmetros:
package main import ( "fmt" "strings" } //Função de parâmetros variáveis para concatenar strings func joinstr(element ...string) string { return strings.Join(element, "")-") } func main() { //Sem parâmetros fmt.Println(joinstr()) //Múltiplos parâmetros fmt.Println(joinstr("GEEK", "GFG")) fmt.Println(joinstr("Geeks", "for", "Geeks")) fmt.Println(joinstr("G", "E", "E", "k", "S")) }
Saída:
GEEK-GFG Geeks-for-Geeks G-E-E-k-S
Exemplo2, Função de parâmetros variáveis para concatenar strings, Passar uma fatia para uma função de parâmetros variáveis:
package main import(" "fmt" "strings" } //Função de parâmetros variáveis para concatenar strings func joinstr(element...string)string{ return strings.Join(element, "")-") } func main() { //Passar uma fatia para uma função de parâmetros variáveis element:= []string{"geeks", "FOR", "geeks"} fmt.Println(joinstr(element...)) }
Saída:
geeks-FOR-geeks
Quando usamos funções de parâmetros variáveis:
Quando precisamos passar fatias para uma função, usamos funções de parâmetros variáveis.
Quando não sabemos o número de parâmetros, usamos funções de parâmetros variáveis.
Ao usar funções de parâmetros variáveis em programas, elas podem aumentar a legibilidade do código.