博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift:下划线及switch使用总结
阅读量:6907 次
发布时间:2019-06-27

本文共 1021 字,大约阅读时间需要 3 分钟。

hot3.png

一、下划线

在中,下划线(_) 并没有太大作用,一般用来定义变量名称,比如成员变量的定义 int _age; 但在中,它却有非常大的功效。

1. 只作为标记

  1. var money = 1_000_000  

 

变量money依旧代表的是数字1000000, 但看起来更清晰化,数字之间仿佛有了间隔。

2. 任意匹配

比如,判断点(1,1)是否在某个范围之内。我们可以用下面的写法

 

可以看出,case (_,0) 和 case (0,_) 分别表示x轴和y轴,而这里的"_"就表示x或者y轴上面所有的点。

3. 起忽略作用

比如for循环中只需要执行里面的内容,而又与循环变量没有关系。

 

  1. for _ in 1...8 {  
  2.     println("Why")  
  3. }  

再举一个例子,忽略外部参数名,先定义一个“默认参数值”的构造函数

 

 

func addStudent(name: String, age: Int = 20){  

  1.     println("添加学生:name=\(name), age=\(age)")  
  2. }  
  3.   
  4. addStudent("Jack", age: 20)  

可以看出age形参有个默认参数值20,所以在调用的时候,调用方法中,有age这个提示。

 

下面,我们试着使用_进行忽略,代码如下:

 

  1. func addStudent2(name: String, _ age: Int = 20){  
  2.     println("添加学生:name=\(name), age=\(age)")  
  3. }  
  4.   
  5. addStudent2("Rose", 18)  

可以看出,这次调用的时候,不需要出现age这个提示符了。

 

注:关于函数,方法,外部参数名等定义,我会在下一章节进行详细的介绍。

 

二、switch用法

1. 基本用法,观察写法可知,swift中的switch使用不在需要break关键字了。

 

2. 多条件匹配,可以看出它的写法与objective-c也有所不同,在objective-c中,多条件匹配是几个case并列写,而在swift中,只需要一个case并且条件之间用","隔开。

 

3. 范围匹配,其实也就是 "..."的用法,上一节中,我已经进行了说明,这里就不在解释了。

 

4. 元组匹配(参见下划线用法2)

5. 条件过略,即引入了where关键字,配合switch进行条件过略。

 

转载于:https://my.oschina.net/HeroOneHY/blog/900010

你可能感兴趣的文章
NBU 恢复 SAP HANA
查看>>
AngularJS2.0 教程系列(一)
查看>>
Spring事务配置的五种方式
查看>>
swfupload uploadSuccess Uploading... 的问题解决
查看>>
Tokyo Tyrant 与 Redis 的一些简单比较
查看>>
.netCHARTING报表图表控件详细介绍
查看>>
nginx 的 HTTP 负载均衡
查看>>
qt输出支持的数据库驱动
查看>>
ssh 自动输入密码连接
查看>>
安装 Go到Ubuntu
查看>>
使用Kubernetes建立apt镜像服务
查看>>
Wopus问答第一期
查看>>
js判断元素在某个区域内是否可见
查看>>
[深入学习Web安全](2)安全杂谈
查看>>
JSP/Servlet及相关技术详解(二)
查看>>
【总结】Kylin创建Cube,以及优化
查看>>
项目实施过程中的优化建议
查看>>
瓜娃系列 (5) - 合久必分, 分久必合
查看>>
cmd网络指令
查看>>
H3C交换机基本配置命令明细
查看>>