Funções
Main Function
A função main
é o ponto de entrada de qualquer aplicação em Go. Ele é obrigatória assim como em linguagens como C e Java.
Multiple Results
As funções em Go, diferente de outras linguagens, podem retornar mais de um valor. É uma convenção esse último valor geralmente ser um error
.
Como o Go não tem try/catch
, é bem comum ver estruturas de código dessa forma:
func sum(a, b int) (int, error) {
sum := a + b
if sum >= 50 {
return 0, errors.New("Invalid Result")
}
return sum, nil
}
package main
func main() {
sum, err := sum(20, 30)
if err != nil {
fmt.Println("A soma foi maior do que 50!", err)
}
}
Blank Identifier
...
Variadic Functions
A Variadic Function
é uma forma de você receber um número indefinido de parâmetros na função.
func sum(numbers ...int) int {
result := 0
for _, number := range numbers {
total += number
}
return result
}
Exemplo de utilização dessa função:
A maioria das funções que utilizamos da própria linguagem, de pacotes... são Variadic Functions. Ex: Println
Closures
Closure é basicamente ter uma função, dentro de outra função.
...