Назад к вопросам
Холодильник.ру
Senior
7
Назови и раскрой две ключевые парадигмы программирования
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Две ключевые парадигмы программирования:
-
Императивное программирование — описывает алгоритм как последовательность команд, изменяющих состояние программы. Пример: циклы, присваивания, условные операторы. В Go это основной стиль, где мы явно управляем потоком выполнения.
-
Функциональное программирование — основано на использовании функций как первоклассных объектов, избегании изменяемого состояния и побочных эффектов. В 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 })