Императивное программирование — описываешь как делать, шаг за шагом:
result := []int{}
for _, v := range nums {
if v > 10 {
result = append(result, v)
}
}
Декларативное — описываешь что нужно получить:
SELECT * FROM nums WHERE value > 10;
Go — преимущественно императивный язык. SQL, HTML, CSS, Terraform — декларативные. Функциональное программирование (map/filter/reduce) — тоже декларативный стиль. На практике часто комбинируют: бизнес-логика императивно, инфраструктура декларативно (Docker Compose, Kubernetes YAML).