Sobes.tech
Назад к вопросам
Senior
7

Назови и раскрой две ключевые парадигмы программирования

Компании, где спрашивали
Холодильник.руХолодильник.ру

Ответ от нейросети

sobes.tech AI

Две ключевые парадигмы программирования:

  1. Императивное программирование — описывает алгоритм как последовательность команд, изменяющих состояние программы. Пример: циклы, присваивания, условные операторы. В Go это основной стиль, где мы явно управляем потоком выполнения.

  2. Функциональное программирование — основано на использовании функций как первоклассных объектов, избегании изменяемого состояния и побочных эффектов. В Go есть элементы функционального стиля, например, функции высшего порядка, замыкания.

Пример в Go, демонстрирующий обе парадигмы:

// Императивный стиль
sum := 0
for _, v := range []int{1, 2, 3} {
    sum += v
}

// Функциональный стиль с использованием функции высшего порядка
func mapInts(slice []int, fn func(int) int) []int {
    result := make([]int, len(slice))
    for i, v := range slice {
        result[i] = fn(v)
    }
    return result
}

squared := mapInts([]int{1, 2, 3}, func(x int) int { return x * x })