一、音乐管理库
    (1)音乐库功能:查看、添加、删除里面的音乐曲目
    (2)播放音乐
    (3)支持MP3和MAV,并且能随时扩展支持更多的音乐类型
    (4)退出程序

    基于命令行程序,因为Go的GUI没有成熟库。
    将命名为Simple Media Player(SMP)
    该程序在运行后进入一个循环,用于监听命令的状态,该程序将接受如下命令

    -音乐库管理命令:lib 命令 包括list/add/remove子命令
    -播放管理: play命令,后跟歌曲名参数
    -退出程序: q命令

    第一、先实现音乐库管理模块,它管理的对象为音乐,该对象包含如下信息
    1、唯一的ID
    2、音乐名
    3、艺术家名
    4、音乐位置
    5、音乐文件类型
    type Music struct{
    ID int
    Name string
    Artist string
    Source string
    Type string
    }

    之后实现音乐库管理类型,我们使用切片作为基础存储结构,其他操作都是对这个切片的封装。
    type MusicManager struct{
    musics []Music
    }

    第二、实现音乐播放
    设置一种易于扩展的模式,那就是接口类型
    实现一个传入音乐的位置和类型两个参数就行的方法。
    func Play(source ,mytype ,name string){
    switch mytype{
    }
    }
    type Player interface{
    Play(source ,name string)
    }
    我们通过一批类型(MP3player,MAVplayer)等来实现Player接口。
    如果需要增加新的类型就直接新增类型实现Player接口就行