(код без описания)
Условие
Заголовок раздела «Условие»(код без описания)
// Кэш будет использоваться под высокой нагрузкой в проде// Частота записи/чтения 20%/80% соответственноfunc main() { fmt.Println(GetOrCreate("hello ", "world ")) fmt.Println(Get("hello "))}
var cache = make(map[string]string)
// GetOrCreate проверяет существование ключа key// Если такого нет, то создает новое значениеfunc GetOrCreate(key, value string) string { var m sync.Mutex m.Lock() value = cache[key] m.Unlock() if value != "" { return value } m.Lock() cache[key] = value m.Unlock() return value}
func Get(key string) string { var m sync.Mutex m.Lock() v := cache[key] m.Unlock() return v}Решение
Заголовок раздела «Решение»Источник: Ozon / Озон (полный список, ч. 1) · 3 кв 2024
← Поиск цен для отелей · Все задачи · Go · (код без описания) →