• Задача
  • Решение
  • Обсуждение

MemoryDB: интерфейс у потребителя

Интерфейс хранилища объявляется у потребителя, а реализации ничего о нём не знают. Реализуйте GetUser (возвращает "not found" для отсутствующего ID) и SaveUser для MemoryDB.

GolangРешение
func (m *MemoryDB) GetUser(id int) (string, error) {
	name, ok := m.users[id]
	if !ok {
		return "", errors.New("not found")
	}
	return name, nil
}

func (m *MemoryDB) SaveUser(id int, name string) error {
	if m.users == nil {
		m.users = make(map[int]string)
	}
	m.users[id] = name
	return nil
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки