Go Em Exemplos: Multiple Return Values

Go tem suporte nativo para múltiplos valores de retorno. Esse recurso é utilizado frequentemente em Go idiomático, por exemplo, para retornar valores de resultado e de erro de uma função.

package main
import "fmt"

A expressão (int, int) na assinatura desta função demonstra que a função retorna dois inteiros int.

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

Aqui são utilizados ambos valores retornados da função com atribuição múltipla.

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

Para utilizar apenas um dos valores retornados, utiliza-se o identificador vazio _.

    _, c := vals()
    fmt.Println(c)
}
$ go run multiple-return-values.go
3
7
7

Aceitar um número variável de argumentos é outro ótimo recurso de Go functions; será apresentado no próximo exemplo.

Próximo exemplo: Variadic Functions.