// Playground - noun: a place where people can play

import UIKit

//------------------------------------------------------------------------------
// 1. 基本使用
// switch 与OC的差别:
// 1> 不须要写break
// 2> 每一个分支条件中的指令不能不写
// 3> case假设取多值时。能够使用","分隔 var grand = "a"
var result:String
switch grand.uppercaseString {
case "A":
result = "优等 \(grand)"
case "B":
result = "良"
case "C":
result = "中"
case "D", "E", "F":
result = "差"
default:result = "未知"
} //------------------------------------------------------------------------------
// 2. 变量/常量赋值
// 在case匹配的同一时候。能够将switch中的值绑定给一个特定的常量或者变量,以便在case的语句中使用
var point = (10, 10)
switch point {
case (let x, 0) :
result = "这个点在x轴上, x值是\(x)"
case (0, let y) :
result = "这个点在y轴上, y值是\(y)"
case let (x, y) :
result = "这个点的x值是\(x), y值是\(y)"
} //------------------------------------------------------------------------------
// 3. where
// 使用where能够添加推断条件
var point1 = (10, -10)
switch point1 {
case let (x, y) where x == y :
result = "在 \\ 对角线上"
case let (x, y) where x == -y :
result = "在 / 对角线上"
default :
result = "不在对角线上"
} //------------------------------------------------------------------------------
// 4. fallthrough
// 在运行完当前case后,继续运行后面的case或者default语句
var num = 20
var str = "\(num)是 "
switch num {
case 0...50:
str += "0~50之间的 "
fallthrough
default :
str += "整数"
}

swift-switch使用方法的更多相关文章

  1. Swift 学习笔记 (方法)

    方法 是关联了特定类型的函数.类,结构体以及枚举都能定义实例方法,方法封装了给定类型特定的任务和功能.类,结构体和枚举同样可以定义类型方法,这是与类型本身关联的方法.类型方法与 Objective-C ...

  2. Mac终端使用swift REPL异常处理方法

    Mac终端使用swift REPL异常处理方法 终端使用swift命令出现 warning: Swift error in module libmarisa.dylibDebug info from ...

  3. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

  4. switch使用方法之一周食谱例

    /* Name:switch使用方法之一周食谱例 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月17日 03:52:53 Description: */ ...

  5. Swift里performSelector方法的替代

    最近在回答StackOverflow的问题时,发现performSelector方法在Swift被去掉,Apple的注释是这个方法被去掉是因为不安全: NOTE The performSelector ...

  6. Swift 自定义打印方法

    Swift 自定义打印方法 代码如下 // MARK:- 自定义打印方法 func MLLog<T>(_ message : T, file : String = #file, funcN ...

  7. Java代替if和switch的方法(记录一下)

    package xcc.mapTest; /** * @Decription: 接口 * @Author: * @Date: * @Email: **/ public interface Functi ...

  8. swift 学习- 12 -- 方法

    // 方法 是与某些特定类型相关的函数.  类, 结构体,枚举 都可以定义实例方法, 实例方法为给类型的实例封装了具体的任务与功能.  类, 结构体, 枚举 也可以定义类型方法,  类型方法与类型本身 ...

  9. swift 属性和方法

    属性和常量 如果创建了一个结构体的实例并赋值给一个常量,则无法修改实例的任何属性: let rangeOfFourItems = FixedLengthRange(firstValue: 0, len ...

随机推荐

  1. android 打包 /${zipalign}&quot; error=2, No such file or directory

    当我更新完android L proview之后我的打包出问题了,报错/${zipalign}" error=2, No such file or directory 排查了一下午才知道 近 ...

  2. 表单提交复选框(checkbox)注意事项

    例子: <form action="a.php" method="post"> <input type="checkbox" ...

  3. 基于visual Studio2013解决面试题之0603调整数组

     题目

  4. Codeforces Round #311 (Div. 2)

    我仅仅想说还好我没有放弃,还好我坚持下来了. 最终变成蓝名了,或许这对非常多人来说并不算什么.可是对于一个打了这么多场才好不easy加分的人来说,我真的有点激动. 心脏的难受或许有点是由于晚上做题时太 ...

  5. 你以为在用SharePoint但事实上不是

    博客地址 http://blog.csdn.net/foxdave 原文链接:http://www.techrepublic.com/blog/tech-decision-maker/you-thin ...

  6. mssql 返回表的创建语句

    if OBJECT_ID('sp_create_table_sql','P') is not null drop proc sp_create_table_sql go create proc sp_ ...

  7. 两张图解读Java异常与断言

    两张图解读Java异常与断言                                 --转载请注明出处:coder-pig 本节引言: 前天公布的"七张图解析Java多线程&quo ...

  8. JSP的学习(5)——语法知识三之include指令

    本篇继续来对JSP语法中的JSP指令进行学习,在<JSP的学习(3)——语法知识二之page指令>中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这一篇中我们会对JSP指 ...

  9. Appium TestNg Maven Android Eclipse java简单启动实例

    环境准备 Eclipse + maven + appium + TestNg 确保已经在Eclipse 上面安装maven TestNg的插件 打开Eclipse,新建一个java项目,把项目转换成m ...

  10. 中国本土管理咨询公司排名TOP50

    中国本土管理咨询公司排名TOP50 1. 北京正略钧策管理顾问有限公司 2. 北京和君咨询公司 3. 北大纵横管理咨询公司 4. 远卓管理顾问公司 5. AMT管理咨询公司 6. 华夏基石管理咨询有限 ...