Funções voláteis em Golang

Funções variádicas em Go permitem que você passe um número variável de argumentos para uma função. Esse recurso é útil quando você não sabe com antecedência quantos argumentos irá passar. Uma função variádica de Golang  aceita vários argumentos do mesmo tipo e pode ser chamada com qualquer número de argumentos, incluindo nenhum.

Funções voláteis em Golang

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Resultado:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Sintaxe:

func functionName(parameters ...Type) ReturnType {
    // Code
}

Na sintaxe acima:

  • parameters ...Typeindica que a função pode aceitar um número variável de argumentos do tipo Type.
  • Você pode acessar argumentos em uma função como uma fatia.

Como usar funções incertas em Golang

Usando funções variádicas

Ao definir uma função variádica, você especifica o tipo de argumento seguido por reticências (...), como no exemplo acima. Dentro da função, esses argumentos podem ser considerados como uma fatia.

Chamando uma função variádica

Você pode chamar uma função variádica com qualquer número de argumentos, incluindo zero. Esta função trata os argumentos como uma fatia.

Por exemplo:

package main
import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Resultado:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Função variádica com parâmetros diferentes

Você também pode combinar parâmetros variádicos com parâmetros regulares em uma função. Os parâmetros variádicos devem sempre ser o último parâmetro.

Por exemplo:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

Resultado:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

Limitações das funções variádicas

  • Funções variádicas podem ter apenas um parâmetro variádico e este deve ser o último parâmetro.
  • Não é possível ter vários parâmetros variádicos em uma única definição de função.

Deixar um comentário

BPC para idoso: quais são os requisitos e como saber se você pode receber

BPC para idoso: quais são os requisitos e como saber se você pode receber

Entenda os requisitos do BPC para idoso em 2026: idade mínima, renda por pessoa, CadÚnico, biometria, cálculo da família e como solicitar.

FGTS: como corrigir dados cadastrais? Veja qual caminho escolher

FGTS: como corrigir dados cadastrais? Veja qual caminho escolher

Saiba como corrigir dados cadastrais do FGTS e quando usar o app, a Receita Federal, o RH da empresa ou a CAIXA.

Como descartar notebook em Uberlândia com segurança: pontos, dados e bateria

Como descartar notebook em Uberlândia com segurança: pontos, dados e bateria

Veja onde entregar um notebook em Uberlândia, como apagar seus dados, preparar o transporte e agir quando a bateria estiver danificada.

Como descartar bateria de lítio em Belo Horizonte: guia seguro para iniciantes

Como descartar bateria de lítio em Belo Horizonte: guia seguro para iniciantes

Saiba onde e como descartar bateria de lítio em Belo Horizonte, como preparar o material com segurança e o que fazer se a bateria estiver inchada ou danificada.

Como descartar máquina de lavar em Osasco: ecopontos, Cata Bagulho e preparo correto

Como descartar máquina de lavar em Osasco: ecopontos, Cata Bagulho e preparo correto

Veja onde descartar máquina de lavar em Osasco, como usar os ecopontos, quando pedir o Cata Bagulho pelo 156 e como preparar o aparelho com segurança.

IPTU em Fortaleza: como emitir a segunda via e consultar débitos passo a passo

IPTU em Fortaleza: como emitir a segunda via e consultar débitos passo a passo

Veja como emitir a segunda via do IPTU em Fortaleza, consultar o extrato, identificar débitos na SEFIN ou na Dívida Ativa e evitar erros no pagamento.

Como descartar máquina de lavar em Belo Horizonte: opções corretas e erros a evitar

Como descartar máquina de lavar em Belo Horizonte: opções corretas e erros a evitar

Saiba onde e como descartar uma máquina de lavar em Belo Horizonte, por que a coleta comum e as URPVs não são a opção certa e como usar a logística reversa.

BPC: quem tem direito em 2026? Regras de renda, idade e deficiência

BPC: quem tem direito em 2026? Regras de renda, idade e deficiência

Veja quem tem direito ao BPC em 2026, limite de renda por pessoa, regras para idosos e pessoas com deficiência, CadÚnico, biometria e como pedir.

Meu INSS: como consultar o CNIS e conferir suas contribuições

Meu INSS: como consultar o CNIS e conferir suas contribuições

Veja como consultar o CNIS pelo Meu INSS, escolher o extrato correto, baixar o PDF, identificar divergências e saber o que fazer depois.

Como descartar notebook em Brasília: pontos de coleta, retirada e cuidados antes da entrega

Como descartar notebook em Brasília: pontos de coleta, retirada e cuidados antes da entrega

Saiba como descartar notebook em Brasília, onde levar o equipamento, quando pedir coleta domiciliar e como proteger seus dados antes da entrega.