swift-switch使用方法
// 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使用方法的更多相关文章
- Swift 学习笔记 (方法)
方法 是关联了特定类型的函数.类,结构体以及枚举都能定义实例方法,方法封装了给定类型特定的任务和功能.类,结构体和枚举同样可以定义类型方法,这是与类型本身关联的方法.类型方法与 Objective-C ...
- Mac终端使用swift REPL异常处理方法
Mac终端使用swift REPL异常处理方法 终端使用swift命令出现 warning: Swift error in module libmarisa.dylibDebug info from ...
- 李洪强iOS开发Swift篇—10_方法
李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...
- switch使用方法之一周食谱例
/* Name:switch使用方法之一周食谱例 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月17日 03:52:53 Description: */ ...
- Swift里performSelector方法的替代
最近在回答StackOverflow的问题时,发现performSelector方法在Swift被去掉,Apple的注释是这个方法被去掉是因为不安全: NOTE The performSelector ...
- Swift 自定义打印方法
Swift 自定义打印方法 代码如下 // MARK:- 自定义打印方法 func MLLog<T>(_ message : T, file : String = #file, funcN ...
- Java代替if和switch的方法(记录一下)
package xcc.mapTest; /** * @Decription: 接口 * @Author: * @Date: * @Email: **/ public interface Functi ...
- swift 学习- 12 -- 方法
// 方法 是与某些特定类型相关的函数. 类, 结构体,枚举 都可以定义实例方法, 实例方法为给类型的实例封装了具体的任务与功能. 类, 结构体, 枚举 也可以定义类型方法, 类型方法与类型本身 ...
- swift 属性和方法
属性和常量 如果创建了一个结构体的实例并赋值给一个常量,则无法修改实例的任何属性: let rangeOfFourItems = FixedLengthRange(firstValue: 0, len ...
随机推荐
- EasyUI - 一般处理程序 返回 Json值
使用 一般处理程序(ashx)返回Json值. 原始Json数组的格式: [ { ", "name":"张三", "sex":&q ...
- Qt MinGW 使用联合编译IncrediBuild
联合编译工具IncrediBuild提供了接口,以使得可以使用网格来处理各种任务,而不仅仅是VS的联合编译,文档地址:http://www.incredibuild.com/webhelp/xge_h ...
- 不包含SDK头文件, 补全API定义
/// @file main.cpp /// @brief 不包含SDK头文件, 补全API定义 #ifdef __cplusplus extern "C" { #endif /* ...
- 同一个form里,不管哪个 submit 都是直接提交form表单里的内容
要达到你的目的,就不能用类型为 submit 的按钮,要用 button,然后加onclick 方法来自定义预处理参数,然后再调用 submit 方法提交表单,比如 <script type=& ...
- 基于visual Studio2013解决面试题之0409判断一个栈是否另外一个栈的弹出序列
题目
- MFC超链接静态类的使用
源代码:http://download.csdn.net/detail/nuptboyzhb/4197151 CHyperLink类,是由CStatic类派生出来,重载了CStatic类的如下函数: ...
- 节点地址的函数list_entry()原理详解
本节中,我们继续讲解,在linux2.4内核下,如果通过一些列函数从路径名找到目标节点. 3.3.1)接下来查看chached_lookup()的代码(namei.c) [path_walk()> ...
- MFC自绘控件学习总结第二贴
首先感谢大家对第一帖的支持,应一些网友烈要求下面我在关于上一贴的一些补充和说明(老鸟可以无视)这一贴是实战+理论不知道第一帖的先看第一帖:http://topic.csdn.net/u/2011071 ...
- VS关闭Browser Link
原文:VS关闭Browser Link 这是VS2013的一个新功能,叫Browser Link,基于SignalR. 它可以实现VS IDE和你的程序的双向通讯,在IDE编辑代码即刻将修改发送到浏览 ...
- 首个spring mvc 测试例子搭建遇到问题记录
开发环境:jdk1.7 + tomcat7 + Eclipse Juno 首先下载spring 相关jar包 我用的是 spring-framework-3.2.1.RELEASE 下载地址:http ...