Functions
#
// _Functions_ são centrais em Go. Serão demonstradas
// funções com alguns exemplos diferentes.
package main
import "fmt"
// Aqui está uma função que recebe dois inteiros `int` e retorna a soma de ambos como outro inteiro `int`.
func plus(a int, b int) int {
// Go exige retornos explícitos. Por exemplo,
// não será retornado automaticamente o valor
// da última expressão
return a + b
}
// Ao existir multiplos parâmetros consecutivos de um
// mesmo tipo, é possível omitir o tipo dos parâmetros
// até a declaração do último parâmetro daquele tipo.
func plusPlus(a, b, c int) int {
return a + b + c
}
func main() {
// Para executar uma função é utilizada a
// sintaxe `nomeDaFuncao(argumentos)`.
res := plus(1, 2)
fmt.Println("1+2 =", res)
res = plusPlus(1, 2, 3)
fmt.Println("1+2+3 =", res)
}
$ go run functions.go
1+2 = 3
1+2+3 = 6
# Existem muitos outros recursos em Funções,
# um dos quais é chamado de Retorno de Valores
# Múltiplos que será apresentado no próximo exemplo.