Hola! seria igual o Rest parametrs, em javaScript ?
Hola! seria igual o Rest parametrs, em javaScript ?
Olá, Flávio!
No JavaScript, o conceito de rest parameters é semelhante ao de variadic functions em Go. Ambos permitem que uma função receba um número indeterminado de parâmetros.
No JavaScript, os rest parameters são representados pelo uso de três pontos antes do nome do parâmetro, como no exemplo a seguir:
function somando(...numeros) {
let resultadoDaSoma = 0;
for (let numero of numeros) {
resultadoDaSoma += numero;
}
return resultadoDaSoma;
}
console.log(somando(1)); // 1
console.log(somando(1, 1)); // 2
console.log(somando(1, 1, 1)); // 3
console.log(somando(1, 1, 2, 4)); // 8
No código acima, a função somando
recebe uma quantidade indeterminada de parâmetros e realiza a soma de todos eles.
Já em Go, as variadic functions são criadas precedendo o tipo do argumento com reticências, como no exemplo a seguir:
func somando(numeros ...int) int {
resultadoDaSoma := 0
for _, numero := range numeros {
resultadoDaSoma += numero
}
return resultadoDaSoma
}
fmt.Println(somando(1)) // 1
fmt.Println(somando(1, 1)) // 2
fmt.Println(somando(1, 1, 1)) // 3
fmt.Println(somando(1, 1, 2, 4)) // 8
Perceba que a declaração do parâmetro numeros
utiliza as reticências: numeros ...int
.
Portanto, tanto no JavaScript quanto em Go, é possível criar funções que recebem uma quantidade indeterminada de parâmetros.
Espero ter ajudado e bons estudos!
thanks