Go语言面向对象编程——模拟音乐播放器

写在前面: 我是「虐猫人薛定谔i」,一个不满足于现状,有梦想,有追求的00后
\quad
本博客主要记录和分享自己毕生所学的知识,欢迎关注,第一时间获取更新。
\quad
不忘初心,方得始终。
\quad

❤❤❤❤❤❤❤❤❤❤

在这里插入图片描述

目录结构

在这里插入图片描述

设计思路

需要有一个音乐类,其属性如下所示

type MusicEntry struct {
   
	Id     string
	Name   string
	Artist string
	Source string
	Type   string
}

借助音乐类,实现一个音乐管理类,用来管理列表中的音乐,实现对列表中音乐的增加、删除、查找等操作

type MusicManager struct {
   
	musics []MusicEntry
}

其中core模块用来实现模拟音乐播放的功能,目前只实现了MP3和WAV文件,可以继续进行扩展
在mplayer中实现对播放器的控制,其中包括从键盘获取输入,并进行相应的处理操作

代码

mplayer.go

package main

import "bufio"
import "fmt"
import "os"
import "strconv"
import "strings"
import "SMP/m/src/library"
import "SMP/m/src/core"

var lib *library.MusicManager
var id = 1

func handleLibCommands(tokens []string) {
   
	switch tokens[1] {
   
	case "list":
		for i := 0; i < lib.Len(); i++ {
   
			e, _ := lib.Get(i)
			fmt.Println(i+1, ":", e.Name, e.Artist, e.Source, e.Type)
		}
	case "add":
		if len(tokens) == 6 {
   
			id++
			lib.Add(&library.MusicEntry{
   Id: strconv.Itoa(id),
				Name: tokens[2], Artist: tokens[3
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值