Go в примерах: Функции с множественным возвратом (Multiple Return Values)

Go имеет встроенную поддержку нескольких возвращаемых значений. Эта особенность часто применяется в Go, например, для возврата результата функции и ошибки.

package main
import "fmt"

Запись (int, int) в описании этой функции, говорит о том, что функция возвращает два целых числа.

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

Здесь функция возвращает два разных значения и присваивает их переменным a,b. Это называется множественное присваивание.

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

Если вы хотите получить не все значения, возвращаемые функцией, то можно поспользоваться пустым идентификатором _.

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

Принятие переменного количества аргументов - еще одна приятная особенность функций Go; Рассмотрим это дальше.

Следующий пример: Функции с переменным числом аргументов (Variadic Functions).