Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: return, miltiple, function, error handling

Можно ли вернуть из функции несколько значений?

Этот вопрос проверяет знание механизма возврата нескольких значений из функции в Go.

Короткий ответ

Да, в Go можно возвращать несколько значений из функции. Для этого в объявлении функции указываются все возвращаемые значения, которые затем могут быть возвращены через оператор return.

Длинный ответ

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

Пример:

package main
import "fmt"

// Функция возвращает два значения: сумму и ошибку
func add(a, b int) (int, error) {
    	sum := a + b
    	if sum < 0 {
        	return 0, fmt.Errorf("сумма не может быть отрицательной")
    	}
    	return sum, nil
}

func main() {
    	result, err := add(10, 20)
    	if err != nil {
        	fmt.Println("Ошибка:", err)
    	} else {
        	fmt.Println("Результат:", result)
    	}
}

В этом примере функция add возвращает два значения: целочисленную сумму и ошибку. Если сумма меньше 0, функция возвращает ошибку, в противном случае — результат вычисления.

В каких случаях использовать:

  • Когда необходимо вернуть несколько значений из функции, например, результат и ошибку.

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    4

Навыки

  • Golang

    Golang

Ключевые слова

#return

#miltiple

#function

#error handling

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.