Aula 15 - Tutorial Golang - funções variáveis

Página principal do blog

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no Facebook

Esse é o link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Melhore seu NETWORKING

https://digitalinnovation.one/

Participe de comunidades de desenvolvedores:

Fiquem a vontade para me adicionar ao linkedin.

E também para me seguir no https://github.com/toticavalcanti.

Código final da aula:

https://github.com/toticavalcanti

Toti:

https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA

Backing track / Play-along:

https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA

Código Fluente

https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w

Putz!

https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw

Aula 15 - Tutorial Golang - funções variáveis

Funções variáveis

As funções variáveis podem receber qualquer número de argumentos. Ou seja, podem ser chamadas passando quantos argumentos quisermos. Um exemplo de função variável é a fmt.Println().

Função variável com argumentos do tipo int

O exemplo a seguir mostra uma função chamada sum() que recebe um número arbitrário de ints como argumentos, os soma e imprime o total da soma.

func sum(nums ...int) {
  fmt.Print(nums, " ")
  total := 0
  for _, num := range nums {
    total += num
  }
  fmt.Println(total)
}

Chamando as funções variáveis

As funções variáveis podem ser chamadas da maneira usual com argumentos individuais.

sum(1, 2)
sum(1, 2, 3)

Saída:

[1 2] 3 [1 2 3] 6

Se você tem vários args em um slice, aplique-os a uma função variável usando func (slice ...).

nums := []int{1, 2, 3, 4}
sum(nums...)

Saída:

[1 2 3 4] 10

Código completo


package main

import "fmt"

func sum(nums ...int) {
    fmt.Print(nums, " ")
    total := 0
    for _, num := range nums {
        total += num
    }
    fmt.Println(total)
}

func main() {

    sum(1, 2)
    sum(1, 2, 3)

    nums := []int{1, 2, 3, 4}
    sum(nums...)
}

E pra executar é só entrar na pasta onde tá o arquivo variadic_function.go e digitar:

go run variadic_functions.go

É isso pessoal, fico por aqui.

Página principal do blog

página do Código Fluente no Facebook

Esse é o link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado e bons estudos. ;)