Как работают и какие ограничения есть при использовании оператора return в языке Go?

В языке Go оператор return используется для выхода из функции и возврата значения (если функция что-то возвращает). Он завершает выполнение текущей функции и передаёт управление вызывающему коду.

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

Что ответить на собеседовании

В языке Go оператор return используется для выхода из функции и возврата значения (если функция что-то возвращает). Он завершает выполнение текущей функции и передаёт управление вызывающему коду.

Подробный разбор

Ответ с пояснениями

В языке Go оператор return используется для выхода из функции и возврата значения (если функция что-то возвращает). Он завершает выполнение текущей функции и передаёт управление вызывающему коду.

Особенности и ограничения return в Go:

  • Можно возвращать несколько значений, например:
func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("деление на ноль")
    }
    return a / b, nil
}
  • Если функция объявлена с именованными возвращаемыми значениями, можно использовать return без аргументов, тогда будут возвращены текущие значения этих переменных.
  • return нельзя использовать вне функции — это синтаксическая ошибка.
  • После return никакой код в функции не выполняется.
  • В defer-функциях можно модифицировать именованные возвращаемые значения перед возвратом.

Пример с именованными возвращаемыми значениями:

func sumAndProduct(a, b int) (sum int, product int) {
    sum = a + b
    product = a * b
    return // возвращает sum и product
}

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее