func(m *MusicManager) Remove(index int) *MusicEntry { if index < 0 || index >= len(m.musics) { returnnil } removedMusic := &m.musics[index]
if index < len(m.musics)-1 { m.musics = append(m.musics[:index-1], m.musics[index+1:]...) } elseif index == 0 { m.musics = make([]MusicEntry, 0) } else { m.musics = m.musics[:index-1] }
return removedMusic }
func(m *MusicManager) RemoveByName(name string) *MusicEntry { index := -1 for i, item := range m.musics { if item.Name == name { index = i break } } if index == -1 { returnnil } return m.Remove(index) }
音乐播放模块
1 2 3 4 5 6 7 8
type Player interface { Play(sourcestring) }
func Play(source, mtypestring) { var p Player p.Play(source) }