Higher-order function — это функция, которая либо принимает другую функцию как аргумент, либо возвращает функцию. Классический пример в Go — sort.Slice, куда ты передаёшь функцию сравнения. Или http.HandleFunc, принимающий handler-функцию. Возвращение функции — основа для middleware: ты оборачиваешь handler в другую функцию, которая добавляет логирование или авторизацию. В Go это используется повсеместно.