- Autor
- Nome
- Nelson Silva
- Social
Introdução
No mundo da programação, funções são blocos de código reutilizáveis que realizam uma tarefa específica. Go, sendo uma linguagem moderna e poderosa, proporciona uma variedade de características relacionadas a funções que a tornam única.
Declarando Funções
Em Go, uma função é declarada usando a palavra-chave func
, seguida pelo nome da função, parâmetros (se houver) e o tipo de retorno.
func nomeDaFuncao(parametro1 tipo1, parametro2 tipo2) tipoRetorno {
// Corpo da função
}
Por exemplo:
func soma(a int, b int) int {
return a + b
}
Retornos Múltiplos
Uma característica interessante de Go é a capacidade de retornar múltiplos valores de uma função.
func divisaoEResto(a int, b int) (int, int) {
return a / b, a % b
}
Esta função retorna tanto o quociente quanto o resto da divisão.
Funções Anônimas e Closures
Go suporta funções anônimas, que podem formar closures. Funções anônimas são úteis quando se quer definir uma função inline sem nomear-a.
func() {
fmt.Println("Esta é uma função anônima!")
}()
Um closure é uma função que tem acesso às variáveis do seu ambiente externo:
func contador() func() int {
conta := 0
return func() int {
conta++
return conta
}
}
func main() {
meuContador := contador()
fmt.Println(meuContador()) // Imprime 1
fmt.Println(meuContador()) // Imprime 2
}
Parâmetros Variádicos
Go também permite que você use parâmetros variádicos, o que significa que você pode passar um número indefinido de parâmetros para uma função. Eles são definidos usando ...
antes do tipo do parâmetro.
func somatorio(numeros ...int) int {
total := 0
for _, num := range numeros {
total += num
}
return total
}
Conclusão
As funções em Go são versáteis e poderosas, permitindo aos programadores criar código limpo, eficiente e reutilizável. Seja aproveitando retornos múltiplos, usando closures ou manipulando parâmetros variádicos, dominar funções em Go é essencial para uma programação eficaz.