... > GO > Объявление и вызов...

Объявление и вызов функций в GO

НАВИГАЦИЯ ПО СТРАНИЦЕ

Объявление функции Вызов функции возвращаемые значения Вариативные параметры Анонимные функции и замыкания

Функции — это ключевые строительные блоки программы, позволяющие структурировать код и повторно использовать фрагменты.

Объявление функции

Функции в GO объявляются с использованием ключевого слова func, за которым следует имя функции, список параметров и тип возвращаемого значения (если есть).

func add(a, b int) int {
    return a + b
}

В данном примере, функция add принимает два целых числа в качестве параметров и возвращает их сумму.

Вызов функции

Функции вызываются с использованием их имени, передавая необходимые аргументы.

result := add(3, 5)

В данном примере, функция add вызывается с аргументами 3 и 5, и результат сохраняется в переменной result.

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

Функции в GO могут иметь именованные возвращаемые значения, что делает код более ясным.

func divide(dividend, divisor float64) (result float64, err error) {
    if divisor == 0 {
        err = errors.New("division by zero")
        return
    }
    result = dividend / divisor
    return
}

В данном примере, функция divide возвращает результат деления и ошибку. Обратите внимание на использование именованных возвращаемых значений result и err.

Вариативные параметры

GO поддерживает вариативные параметры, что позволяет функции принимать переменное количество аргументов.

func sum(numbers ...int) int {
    total := 0
    for _, num := range numbers {
        total += num
    }
    return total
}

В данном примере, функция sum принимает переменное количество аргументов типа int и возвращает их сумму.

Анонимные функции и замыкания

GO поддерживает анонимные функции и замыкания, что позволяет определять функции внутри других функций.

func main() {
    add := func(a, b int) int {
        return a + b
    }

    result := add(3, 5)
    fmt.Println(result)
}

В данном примере, анонимная функция присваивается переменной add, и затем вызывается с аргументами 3 и 5.