swift switch的几点用法
来源:互联网 发布:制作生日快乐的软件 编辑:程序博客网 时间:2024/06/10 07:29
swift里面的 switch还真是灵活啊,由衷赞一个
//(1)定义重复的时候,只有第一个匹配上的才会被执行var num = 4switch num {case 0: println("0")case 1, 2, 3, 4: println("1, 2, 3, 4")case 4, 5, 6, 7: println("4, 5, 6, 7")case 8, 9: println("8, 9")default: break}//结果 =》 1, 2, 3, 4
//(2)可以定义一个范围num = 4switch num {case 0..<4: //定义一个范围 [..<] 小于右侧数 println("0")case 1...4: println("1, 2, 3, 4")case 4...7: println("4, 5, 6, 7")case 8...9: println("8, 9")default: break}//结果 =》 1, 2, 3, 4
//(3)可以为一个多值类型制定Swith,[_]下划线代表不作为匹配条件var data = ("ABC", "男", 10)switch data { case ("ABC", "女", 0...10): println("第一行")case (_, "男", 0...10): println("第二行")default: break}//结果 =》 第二行
//(4)可以用计算式进行匹配num = 5switch (num % 3, num % 5) {case (0, 0): println("可以同时被3,5整除")case (0, _): println("只能被3整除")case (_, 0): println("只能被5整除")default: break}//结果 =》 第二行
//(5)可以直接把用于比较的内容转化为变量使用data = ("ABC", "男", 10)switch data { case ("ABC", "女", 0...10): println("第一行")case (_, "男", let age): println("第二行 age :\(age)") //10 可以作为参数使用default: break}//结果 =》 第二行 age :10
//(6)把用于比较的内容转化为变量,的同时使用Where来指定一个复杂条件data = ("ABC", "男", 10)switch data { case ("ABC", "女", 0...10): println("第一行")case (_, "男", let age) where age * 10 < 100 : println("第二行 age :\(age)")case (_, "男", let age) where age * 10 <= 100 : println("第三行 age :\(age)")default: break}//结果 =》 第三行 age :10
//(7)关于default,default默认是必须要有的,但是下面两种情况可以不再定义default。//第一种情况是使用通配符 [——] 下划线num = 5switch num { case 1...10: println("1...10")case _: println("other all") }//第二种是枚举型作为条件enum Sex { case man, woman, other}let s = Sex.manswitch s {case .man, .woman: println("")case .other: println("")}//也就是说在条件可以被全部网罗的情况下,可以不定义default
0 0
- swift switch的几点用法
- swift中switch的用法
- swift中switch的高级用法
- swift 中switch 的新用法
- 开关语句switch的几点说明
- switch使用需要注意的几点
- swift-switch用法
- 我对Swift的几点疑问
- const 的几点用法
- const的几点用法
- const的几点用法
- MessageBox的几点用法
- Swift之旅 switch用法
- Swift的switch结构中,fallthrough的用法注意总结
- 9、Swift语言中switch条件语句的基本用法
- 使用switch语句需要注意的几点
- switch-case 语句的优点和几点注意事项 Java
- switch-case 语句的优点和几点注意事项 Java
- javaweb 文件上传和下载
- Chrome自带移动设备模拟器,适合移动端网页开发
- ArrayList的remove方法的一个特性
- 34、滑动界面 style、GestureDetector、overridePendingTransition()、anim、按钮图片变更(button_select)
- cocos2dx之lua项目开发中MVC框架的简单应用
- swift switch的几点用法
- 【导航】请戳我!
- 什么是 Web 框架?
- handler与异步任务
- private、默认、protected、public
- 创建一个自定义的Annotation
- SQL面试题收录
- Android ndk开发swig编译jni接口
- 单例模式