Go por Exemplo: Múltiplos Valores de Retorno

Go foi construído para suportar múltiplos valores de retorno. Esse recurso é usado muitas vezes na idiomática do Go, por exemplo para retornar ambos os resultados e valores de erros de uma função.

package main
import "fmt"

O (int, int) nessa assinatura de função mostra que a função retorna 2 inteiros.

func vals() (int, int) {
    return 3, 7
}
func main() {

Aqui nós usamos 2 valores de retorno diferentes da chamada com múltiplas atribuições.

    a, b := vals()
    fmt.Println(a)
    fmt.Println(b)

Se você quer apenas um subconjunto de valores de retorno, use o identificador em branco _.

    _, c := vals()
    fmt.Println(c)
}
$ go run múltiplos-valores-retorno.go
3
7
7

Aceitar um número variável de argumentos é outra característica interessante das funções do Go; vamos ver isso a seguir.

Próximo exemplo: Funções Variádicas.