Table-driven design в Go (не только тесты).

Ответ

Данные в виде таблицы (слайс структур) и общий код итерации. Используют не только в тестах: маршрутизация по типу (таблица обработчиков), валидация полей (таблица правил), конечные автоматы (таблица переходов). В Go: слайс с полями для входа и выхода или действий; один цикл или lookup. Упрощает добавление кейсов без изменения логики.

var routes = []struct {
    path string
    fn   http.HandlerFunc
}{
    {"/health", healthHandler},
    {"/api/users", usersHandler},
}
for _, r := range routes { mux.Handle(r.path, r.fn) }
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.