> Какой статус у продукта (Go)
Уровень: middle · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: YADRO
Стек: Go
> Пример ответа
Статус продукта в Go-проекте обычно реализуется через структуру с полями состояния и временными метками. Например, можно определить enum-тип с использованием iota для основных состояний: Active, Inactive, Archived, Deleted. Для хранения статуса в базе данных часто используют целочисленные значения или строковые константы. Пример:
GOtype ProductStatus intconst (ProductStatusActive ProductStatus = iota + 1ProductStatusInactiveProductStatusArchivedProductStatusDeleted)type Product struct {ID int64 `json:"id"`Name string `json:"name"`Status ProductStatus `json:"status"`CreatedAt time.Time `json:"created_at"`UpdatedAt time.Time `json:"updated_at"`}
При работе с REST API статус можно передавать как число или строку, а в бизнес-логике проверять через switch или методы-хелперы (например, IsActive()). Для миграций БД используйте тип SMALLINT или VARCHAR с ограничением. Важно также предусмотреть валидацию при обновлении статуса, чтобы избежать недопустимых переходов (например, из Deleted обратно в Active).
> Похожие задачи по Go
Почему при эвакуации данных в мапе Go возникает проблема с конкурентным доступом и race condition
Какие типы записей существуют в DNS
По какому протоколу работает DNS
Используешь ли пайпы в Unix и для чего
> Похожие задачи по backend
Что такое замыкание?
Какие типы записей существуют в DNS
По какому протоколу работает DNS
Используешь ли пайпы в Unix и для чего
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью