package audio import ( "errors" ) type AudioFile struct { FileName string Contents []byte } type AudioMemoryStorage struct { Data map[string]AudioFile } func NewAudioMemoryStorage() *AudioMemoryStorage { return &AudioMemoryStorage{Data: map[string]AudioFile{}} } func (audio *AudioMemoryStorage) put(a AudioFile) (err error) { _, ok := audio.Data[a.FileName] if !ok { audio.Data[a.FileName] = a return nil } return errors.New("already exists") } func (audio *AudioMemoryStorage) get(filename string) (a AudioFile, err error) { val, ok := audio.Data[filename] if ok { return val, nil } return AudioFile{}, errors.New("not found") }