Возвращаемые значения функций в GO
НАВИГАЦИЯ ПО СТРАНИЦЕ
В GO функции могут возвращать одно или несколько значений. Поэтому давайте рассмотрим основные аспекты возвращаемых значений в функциях.
Одиночное возвращаемое значение
Функция может вернуть одно значение с использованием ключевого слова return.
func add(a, b int) int {
return a + b
}
В этом примере функция add возвращает сумму двух целых чисел.
Множественные возвращаемые значения
GO позволяет функциям возвращать несколько значений.
Например:
func divide(dividend, divisor float64) (float64, error) {
if divisor == 0 {
return 0, errors.New("division by zero")
}
result := dividend / divisor
return result, nil
}
В данном примере функция divide возвращает результат деления и ошибку. Типы возвращаемых значений перечислены в скобках.
Именованные возвращаемые значения
GO также поддерживает именованные возвращаемые значения, что делает код более читаемым.
Например:
func divide(dividend, divisor float64) (result float64, err error) {
if divisor == 0 {
err = errors.New("division by zero")
return
}
result = dividend / divisor
return
}
В этом примере result и err — это именованные возвращаемые значения.
Возврат нескольких значений из функции
Функция может возвращать несколько значений, и эти значения могут быть присвоены нескольким переменным при вызове функции.
func compute(a, b int) (int, int) {
sum := a + b
difference := a - b
return sum, difference
}
При вызове этой функции можно принять оба возвращаемых значения:
total, diff := compute(10, 5)
Такой подход часто используется для возвращения результатов и ошибок из функций.
Это основные аспекты возвращаемых значений функций в GO. Используйте их в зависимости от требований вашей программы, чтобы код был более гибким и поддерживаемым.