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.
Sign up and earn $1000 a day ⋙

Leave a Comment

De onde vêm os símbolos masculino e feminino?

De onde vêm os símbolos masculino e feminino?

O significado dos símbolos masculinos e femininos populares hoje em dia pode não ser conhecido por todos. Vamos aprender mais sobre os símbolos masculinos e femininos!

A misteriosa história dos buracos negros foi decodificada por cientistas

A misteriosa história dos buracos negros foi decodificada por cientistas

Um dos equívocos comuns sobre buracos negros é que eles não apenas engolem matéria, mas também a história dessa matéria. A verdade sobre a história dos buracos negros finalmente foi revelada.

Não há necessidade de vários aplicativos Adobe Mobile, o Adobe Express é o único aplicativo que você precisa!

Não há necessidade de vários aplicativos Adobe Mobile, o Adobe Express é o único aplicativo que você precisa!

A Adobe oferece mais de 4 aplicativos específicos de edição de fotos no telefone. Todos são tão parecidos que é difícil decidir qual você realmente precisa.

5 gadgets que transformam uma TV comum em uma inteligente

5 gadgets que transformam uma TV comum em uma inteligente

Uma TV comum ainda pode aprender novos truques com alguns gadgets e se tornar melhor do que uma smart TV cara em minutos.

Como usar o controle remoto do ar condicionado Panasonic

Como usar o controle remoto do ar condicionado Panasonic

Usar corretamente o controle remoto do ar condicionado Panasonic nos ajudará a aproveitar os recursos do ar condicionado.

Gemini lança o Talk Live para fotos, arquivos e YouTube

Gemini lança o Talk Live para fotos, arquivos e YouTube

O Gemini Live adicionou o recurso “Falar ao vivo sobre” e ele agora será implementado de forma mais ampla em dispositivos Android. Anteriormente, o Gemini Live aceitava apenas entrada de voz, mas o “Talk Live about” expandiu os uploads de conteúdo

Microsoft Copilot atualizado com pesquisa aprofundada

Microsoft Copilot atualizado com pesquisa aprofundada

A Microsoft finalmente está trazendo a funcionalidade Deep Research para seu Copilot AI. Ele permite que os usuários conduzam pesquisas completas e em várias etapas sobre qualquer tópico.

Como transformar uma foto em um esboço a lápis no Photoshop

Como transformar uma foto em um esboço a lápis no Photoshop

Este tutorial mostrará como transformar facilmente uma foto em um esboço a lápis usando o Adobe Photoshop.

Funções voláteis em Golang

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. Aqui está tudo o que você precisa saber sobre funções voláteis em Golang.

Como escrever letras coloridas no Lien Quan Mobile

Como escrever letras coloridas no Lien Quan Mobile

Para escrever texto colorido no Lien Quan Mobile, siga as instruções deste artigo. Os caracteres coloridos do LQ Mobile serão mais visíveis.

7 processos do gerenciador de tarefas que nunca devem terminar

7 processos do gerenciador de tarefas que nunca devem terminar

A seção de processos do sistema Windows, localizada na parte inferior da lista no Gerenciador de Tarefas do Windows 10, contém vários processos importantes que são essenciais para o funcionamento adequado do seu computador.

A Apple permite que os usuários permaneçam no iOS 15.7 antes de atualizar para o iOS 16

A Apple permite que os usuários permaneçam no iOS 15.7 antes de atualizar para o iOS 16

A Apple permite que os usuários permaneçam no iOS 15 e ainda recebam atualizações de segurança antes de atualizar para o iOS 16.

Os resultados da avaliação de desempenho das CPUs Intel Core Ultra 5 225H, Core Ultra 7 255H e Core Ultra 9 285H estão disponíveis no Geekbench

Os resultados da avaliação de desempenho das CPUs Intel Core Ultra 5 225H, Core Ultra 7 255H e Core Ultra 9 285H estão disponíveis no Geekbench

Três SKUs da próxima linha de processadores móveis Arrow Lake-H da Intel foram testados no Geekbench, revelando especificações e desempenho de núcleo único e múltiplos núcleos bastante impressionantes.

Quem imaginaria que o processo de produção dos conhecidos elásticos seria tão complicado e elaborado?

Quem imaginaria que o processo de produção dos conhecidos elásticos seria tão complicado e elaborado?

Os pequenos elásticos parecem simples, mas o processo de fazê-los é mais complicado do que você imagina. Abaixo está todo o processo de fabricação dos elásticos.

9 fatos interessantes sobre Mercúrio

9 fatos interessantes sobre Mercúrio

Mercúrio é o menor planeta do Sistema Solar e também o planeta mais próximo do Sol. Mercúrio orbita o Sol a uma velocidade incrivelmente rápida, com uma média de quase 170.000 km/h. Esses são apenas alguns dos muitos fatos interessantes sobre este planeta.