РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
10 of 1593 menu

Оператор return

Оператор return в Go завершает выполнение текущей функции и передает управление обратно в вызывающий код. Если функция объявлена с типом возвращаемого значения, оператор return должен возвращать значение соответствующего типа. Для функций, которые возвращают несколько значений, return возвращает все значения в порядке их объявления. В случае функций без возвращаемого значения (void) оператор return может использоваться для досрочного выхода без указания значений.

Синтаксис

return [значение_1, значение_2, ...]

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

Давайте напишем функцию, которая вычисляет квадрат числа и возвращает результат:

package main import "fmt" func square(x int) int { return x * x } func main() { res := square(5) fmt.Println(res) }

Результат выполнения кода:

25

Пример с несколькими возвращаемыми значениями

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

package main import "fmt" func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("division by zero") } return a / b, nil } func main() { res, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(res) } }

Результат выполнения кода:

5

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

В Go можно использовать именованные возвращаемые значения, что позволяет использовать оператор return без указания значений:

package main import "fmt" func getPersonInfo() (name string, age int) { name = "John Doe" age = 30 return } func main() { n, a := getPersonInfo() fmt.Println(n, a) }

Результат выполнения кода:

"John Doe" 30

Пример с досрочным возвратом

Оператор return может использоваться для досрочного выхода из функции в условных конструкциях:

package main import "fmt" func checkValue(x int) string { if x < 0 { return "negative" } if x == 0 { return "zero" } return "positive" } func main() { fmt.Println(checkValue(-5)) fmt.Println(checkValue(0)) fmt.Println(checkValue(5)) }

Результат выполнения кода:

"negative" "zero" "positive"

Пример использования return в функции без возвращаемого значения

Для функций без возвращаемого значения оператор return может использоваться без значений для досрочного завершения:

package main import "fmt" func printMessage(msg string) { if msg == "" { fmt.Println("empty message") return } fmt.Println(msg) } func main() { printMessage("") printMessage("hello world") }

Результат выполнения кода:

"empty message" "hello world"

Смотрите также

  • оператор func,
    который объявляет функции с возвращаемыми значениями
  • оператор if,
    который часто используется с оператором return для проверки условий
  • оператор switch,
    который также может использовать return для выхода из функции
  • оператор defer,
    который выполняется перед фактическим выходом из функции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить