enum的关联值和switch语句

53 阅读2分钟

这段代码的核心作用是展示如何通过 关联值(Associated Values)和 switch 语句,让我们能够在处理不同的枚举类型时提取并使用相关的数据。

1.

enum 和关联值的用处:

在你的作业中,Message 枚举有三种不同类型的消息:

  • 文本消息(text),只携带一个字符串。

  • 图片消息(image),携带文件名和大小。

  • 视频消息(video),携带文件名和时长。

通过这种方式,我们不仅能够知道消息类型是什么,还能从中提取出实际的数据(例如:文件名、大小、时长等)。

2.

switch 语句的作用:

使用 switch 可以根据不同的消息类型做出不同的处理,自动匹配 枚举中的每一个 case 并提取出相关的关联值,方便进行后续操作。

比如:

  • 如果消息是文本,你可以直接处理文本内容。

  • 如果消息是图片,你可以提取出文件名和大小,展示图片信息。

  • 如果消息是视频,你可以提取出视频的文件名和时长,用来播放视频或做其他处理。

3.

实际应用场景:

假设你在开发一个多媒体应用,可能会收到不同类型的消息(文本、图片、视频)。为了能够处理每种消息类型,你会根据消息类型提取关联值,这样就能执行相应的操作。

例如:

  • 当接收到文本消息时,显示文本内容。

  • 当接收到图片消息时,加载并显示图片。

  • 当接收到视频消息时,播放视频。

总结:

这种写法使得你能够根据不同的消息类型,灵活地提取出数据并进行处理。它不仅适用于聊天应用,也可以应用在任何需要处理不同类型数据的场景中,比如多媒体处理、网络请求、状态管理等。