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

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

Tutorial Golang - Retornando Múltiplos Valores

Tutorial Golang – Retornando Múltiplos Valores

Página principal do blog

Todas as aulas desse curso

Aula 14                        Aula 16

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

Na próxima aula veremos closures.

É isso pessoal, fico por aqui.

Nos vemos na próxima aula, até mais. 🙂

Página principal do blog

Todas as aulas desse curso

Aula 14                        Aula 16

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. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>