模式匹配

模式

模式是用于匹配的规则, 比如switch的case、捕捉错误的catch、if\guard\while\for语句的条件等

Swift中的模式有:
通配符模式
标识符模式
值绑定模式
元组模式
枚举Case模式
可选模式
类型转换模式
表达式模式

通配符模式

enum Life.png

_ 匹配任何值
_? 匹配非nil值

标识符模式
给对应的变量、常量名赋值

var age = 10.png

值绑定模式

C let point =(3, 2).png

元组模式

![let points = (0, 0), (1, 0),(2, 0)〕.png

oH.png
jack.png
o.png

枚举Case模式

if case语句等价于只有1个case的switch语句

func test() {.png
let age = 2.png

与上面等价

![let ages Int〕 = [2, 3, nil, 5].png

let ages [Int]= [2, 3, nil, 5].png

![let points = (1, 0),(2,1),(3,0)〕.png

可选模式

打印出非nil的值.png

类型转换模式

let num Any =6.png
print (fype(of se19). •eat-).png

自定义表达式模式

ateuet Student.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文地址:http://www.android100.org/html/201606/06/241682.html...
    AFinalStone阅读 1,354评论 0 1
  • > 昨天有位大哥问小弟一个Spark问题,他们想在不停Spark程序的情况下动态更新UDF的逻辑,他一问我这个问题...
    kikiki5阅读 231评论 0 2
  • 前言今天给大家详细介绍一下iOS之短信,邮件,通信录技术的具体实现 系统应用之短信,邮件在开发某些应用时可能希望能...
    LZM轮回阅读 1,208评论 3 1
  • > 昨天有位大哥问小弟一个Spark问题,他们想在不停Spark程序的情况下动态更新UDF的逻辑,他一问我这个问题...
    kikiki4阅读 141评论 0 2
  • ### 1.安装 nodejs ### 2.安装 git ### 3.下载 [vue-element-admin]...
    gogogo_e6cf阅读 878评论 0 0

友情链接更多精彩内容