Множественные результаты
Функция может возвращать любое количество результатов.
В следующем примере функция swap возвращает две строки.
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
Результат:
world hello
Именованные возвращаемые значения
В Go возвращаемые значения могут быть именованными. В этом случае они расцениваются как переменные объявленные в начале функции.
Эти имена следует использовать для документирования смысла возвращаемых значений.
return без аргументов возвращает именованные возвращаемые значения, что известно как "голый" возврат.
Такой способ возврата значений следует использовать только в коротких функциях, как в представленном здесь примере. В более длинных функциях это может ухудшить читаемость.
package main
import "fmt"
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return
}
func main() {
fmt.Println(split(17))
}
Результат:
7 10
Читайте также:
Комментариев нет:
Отправить комментарий