Multiple Return Values

Функции с множественным возвратом (Multiple Return Values)|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;
# Рассмотрим это дальше.