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