Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд [ 3 / ... ] Go - функции и их использование.

  • Автор темы Автор темы sud0
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Мар 2022
Сообщения
12
Реакции
8
Функции
Функции способны принимать от 0 до бесконечности агрументов, в примере ниже функция sum принимает 2 агрумента целочисленного типа.
Код:
Expand Collapse Copy
// Структура функции:
func sum(x int, y int) int { // после описания функции и ее агрументов указывается тип возвращаемого значения.
    return x + y
}

func main() {
    fmt.Println(sum(2, 2)) // Выведет в консоль 4
}

Если несколько аргументов функции имеют одинаковый тип, можно немного сократить код:
Код:
Expand Collapse Copy
func sum(x int, y int) int {
превращается в
func sum(x, y int) int {

Множественный возврат
Функции так же могут возвращать несколько результатов, ниже вы можете увидеть пример
Код:
Expand Collapse Copy
func swap(x, y string) (string, string) {
    return y, x
}

func main() {
    a, b := swap("hello", "world")
    fmt.Println(a, b)
}

Именнованный возврат
Код:
Expand Collapse Copy
func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

func main() {
    fmt.Println(split(17))
}

Возвращаемые значения Go могут быть именованными. В этом случае они рассматриваются как переменные, определенные в верхней части функции.
Эти имена следует использовать для документирования значения возвращаемых значений.
Оператор return без аргументов возвращает именованные возвращаемые значения. Это называется "голым" возвратом.
 
Назад
Сверху Снизу