Go за Прикладом: Поверненння Кількох Значень (Multiple Return Values)

У Go існує підтримка повернення кількох значень з функцій. Ця особливість часто ідіоматично використовується в Go, для повернення функцією результату роботи та помилки .

package main
import "fmt"

Конструкція (int, int) - цією декларацією функція показує, що вона зобов’язується повернути два цілих числа.

func vals1() (int, int) {
    return 3, 7
}

Конструкція (a int, b int) - цією декларацією функція показує, що вона зобов’язується повернути два змінні (а та b) вже задекларовані в тілі функції. Зауважте що непотрібно декларувати типи змінних, це відбувається під час виконання коду.

func vals2() (a int, b int) {
    a = 4
    b = 0
    return
}
func main() {

В цьому прикладі - ми декларуємо дві різні змінні шляхом присвоєння результату функції (що повертає два значення).

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

А тепер ми декларуємо дві змінні отримані з функції що сама проводить повернення іменованих значень.

    c, d := vals2()
    fmt.Println(c)
    fmt.Println(d)

Якщо ви плануєте використати лише частину повернених значень, скористайтесь пустим ідентифікатором (_).

    _, e := vals1()
    fmt.Println(e)
}
$ go run multiple-return-values.go
3
7
4
0
7

Приймання змінної кількості аргументів, це ще одна приємна особливість Go.

Наступний приклад: Варіативні Функції (Variadic Functions).