Код
Задание 2
Простой кэш в памяти
Сделайте тип **`cache`** (пакет `main`), реализующий интерфейс **`Cache`**: **`Get(key string) (string, error)`** и **`Set(key string, value string) error`**. Фабрика **`NewCache() Cache`** должна возвращать рабочий экземпляр. Храните пары ключ–значение в памяти (например в `map[string]string`). Поведение **`Get`** для отсутствующего ключа выберите сами; в **`main`** и в тестах после **`Set`** нужный ключ всегда присутствует.
Обычно достаточно обернуть **`map[string]string`**: в **`Set`** сохраняете пару, в **`Get`** возвращаете значение или ошибку, если ключа нет. **`NewCache()`** должен подготовить структуру (например сразу инициализировать map или сделать ленивую инициализацию при первой записи).