Какие есть правила у return в Go

«Какие есть правила у return в Go» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go return завершает выполнение функции и возвращает указанные значения. Основные правила:

  1. Если функция объявлена с возвращаемыми значениями, return должен их вернуть:
func sum(a, b int) int {
    return a + b
}
  1. Именованные возвращаемые значения можно вернуть без указания:
func divide(a, b float64) (result float64, err error) {
    if b == 0 {
        err = errors.New("division by zero")
        return
    }
    result = a / b
    return
}
  1. В main() функции return допустим, но не обязателен.

  2. В отложенных функциях (defer) return может изменять возвращаемые значения.

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