Назад к урокам

Базовые функции в Go

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

Начинающий8 min

🧩 Basic Functions в Go

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


🔧 Что такое функция?

Функция --- это именованная часть программы, которая: - может принимать входные данные (параметры), - может возвращать данные (результаты), - может не принимать и не возвращать ничего.

Пример простой функции:

func greet() {
    fmt.Println("Hello!")
}

🏗 Создание функций

Функция без параметров и без возвращаемых значений

func sayHello() {
    fmt.Println("Hello!")
}

Функция с параметрами

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

Типы параметров можно объединять:

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

🎁 Возврат данных

Функции могут возвращать одно или несколько значений.

Один результат

func square(x int) int {
    return x * x
}

Несколько результатов

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return a / b, nil
}

🧠 Параметры и аргументы

  • Параметры - это переменные в объявлении функции
  • Аргументы - это данные, которые вы передаёте при вызове
func multiply(x int, y int) int {
    return x * y
}

result := multiply(3, 4) // 3 и 4 — аргументы

🚫 Игнорирование возвращаемых значений

Если функция возвращает несколько значений, но одно вам не нужно:

value, _ := divide(10, 2)

Символ _ позволяет игнорировать ненужный результат.


📝 Правила именования функций

Go использует camelCase:

getUserName()
calculateTotal()
sendRequest()

Имя должно отражать назначение функции.


📘 Итоги

  • Функции изолируют логику и делают код чище.
  • Параметры определяют входные данные.
  • Вызов функции подразумевает передачу аргументов.
  • Функции могут возвращать несколько значений.
  • _ позволяет игнорировать ненужные результаты.