- 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 com 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 existirem) 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 como o resto da divisão.
Funções Anónimas e Closures
Go suporta funções anónimas, que podem formar closures. As funções anónimas são úteis quando se pretende definir uma função inline sem lhe dar um nome.
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 utilizar parâmetros variádicos, o que significa que é possível passar um número indefinido de parâmetros para uma função. 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 a tirar partido de retornos múltiplos, a usar closures ou a manipular parâmetros variádicos, dominar funções em Go é essencial para uma programação eficaz.