Go Em Exemplos: 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.

Próximo exemplo: Multiple Return Values.