- 常量用 let ,变量用 var

- // Optional为可选项,// 可用类型值 + ? 代替

        let x: Optional = 10
let y: Int? = 5
print(x! + y!)

- 三木运算符

        // 三目运算符
x > 5 ? print("大了") : print("小了")
// 可以这样写 `()`,如果不判断的话
x > 5 ? print("大了") : ()
/**
?? 是一个简单的 三目运算
- 如果有值,使用值
- 如果没有值,使用 ?? 后面的值替代
?? 优先级最低
*/
print((x ?? 0) + (y ?? 0))

- if let / var 连用语法,目的就是判断值

        let oName:String? = "王"
let oAge:Int? = if oName != nil && oAge != nil {
print(oName! + String(oAge!) + "岁")
} // if let 连用,判断对象的值是否为 nil, {} 内一定有值,可以直接使用,不需要解包
// if var 连用, {} 可以对值进行修改!
if var name = oName,
let age = oAge {
name = "李" // 进入分支之后, name 和 age 一定有值,不需要解包
// name 和 age 的作用域仅在 {} 中
print(name + String(age) + "岁")
} else {
print("name 或 age 为 nil")
}

- guard  守卫 / 守护  // guard let 和 if let 刚好相反

  这样可以使可选项去掉

        let oName: String? = "王"
let oAge: Int? = // guard let 守护一定有值,如果没有直接返回
guard let name = oName,
let age = oAge else {
print("年龄或者姓名为 nil")
return
} // 代码执行至此,name 和 age 一定有值
// 通常判断是否有值之后,会做具体的逻辑实现,通常代码多
// 如果用 if let 凭空多了一层分支,guard 是降低分支层次的方法
// guard 的语法是 Swift 2.0 推出的!
print(name + String(age) + "岁")

- swtich case
     1. swtich 可以针对任意类型的值进行分支,不再局限在整数
     2. switch 一般不需要break
     3. switch 如果要多值,使用 `,`
     4. 所有的分支至少需要一条指令,如果什么都不干,才使用break

    func test9(num: String) {
switch num {
case "10", "9":
print("优")
case "8":
break
default:
print("一般")
}
}

- for循环

        // [0, 5)
for i in 0..<5 {
print(i)
} print("------") // [0, 5]
for i in 0...5 {
print(i)
}

Swift 常量、变量、条件判断的更多相关文章

  1. Swift入门学习之一常量,变量和声明

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...

  2. Swift学习(四)常量&变量&基础数据类型

    常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...

  3. (转载)PHP 判断常量,变量和函数是否存在

    (转载)http://www.jb51.net/article/17881.htm 如果你看懂了上面一句话,那么接下来都是废话,PHP手册写的还是很全的.一句话就把我标题中的问题全部解决了. 还是举几 ...

  4. Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作

    目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...

  5. 10_bash_变量_条件判断及运算_sed_循环

    shell编程: 编译器.解释器编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量):变量在使用前,必须事先声明,甚至还需要初始化 事先转换成可执行格式 C/C++.C#.Ja ...

  6. puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless

    puppet(4) 变量.数据类型.表达式.条件判断语句-if.case.selector语句 puppet变量: 1.名称必须以$开头:赋值使用=,支持追加赋值+=: 2.每个变量都有两种引用格式: ...

  7. PHP 判断常量,变量和函数是否存在

    判断变量是否被定义:defined() if (defined('CONST_NAME')) { //do something } 判断变量是否存在:isset() ,注意变量未声明或声明时赋值为NU ...

  8. python自学-day2(变量、if条件判断、运算符操作)

    1.变量 变量只是用于保存内存位置,将变量存储在内存中的作用,方便后面调用,这意味着,在创建变量时会在内存中开辟一个空间. 变量命名规则: 由字母.数字.下划线(_)组成 不能以数字开头 不能使用 P ...

  9. py定义变量-循环-条件判断

    定义变量 # print('hahaha')name = " let'go "title = '刘伟长得 "很帅"!'conent = '''     let' ...

  10. swift 2.0 语法 常量变量

    import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...

随机推荐

  1. linux 覆盖可执行文件的问题

    测试环境是3.10.0 内核. 有一次操作中,发现cp -f A B执行的时候,行为不一样: 当B没被打开,则正常覆盖B. 当B是被打开,但没有被执行,则能覆盖, 当B被打开,且被执行,则不能直接覆盖 ...

  2. python递归、collections系列以及文件操作进阶

    global log 127.0.0.1 local2 daemon maxconn log 127.0.0.1 local2 info defaults log global mode http t ...

  3. Android高级控件(下)

    Chronometer计时器 常用的方法 getBase() 基准时间 setFormat 设置显示格式 start() 开始计时 stop() 停止计时 setOnChronometerListen ...

  4. ArcMap导入图层出现General function failure问题 [转]

      ArcMap导入图层出现General function failure问题 [转] Link: http://www.cnblogs.com/angelx/p/3391967.html 问题描述 ...

  5. ArcGIS案例学习笔记3_1_ArcMap编辑练习

    ArcGIS案例学习笔记3_1_ArcMap编辑练习 计划时间:第三天上午 目的:ArcMap编辑练习 教程: pdf page67 数据: gis_ex10/ex07 方法: 1.新建shp文件 目 ...

  6. C# 如何获取屏幕的截图,以及如何在图像上添加文字

    关键代码为 Screen sc = Screen.PrimaryScreen; Rectangle rct = sc.Bounds; Image img = new Bitmap(rct.Width, ...

  7. 吴裕雄 oracle 管理数据表对象

  8. ValueError: too many values to unpack tensorflow

    使用tensorflow 的时候报错: result ,_= sess.run(ops)ValueError: too many values to unpack 其实是ops里面不止一个,返回解压成 ...

  9. Python 基础常用

    .连接符: + .基本类型: [] {} () list set :无序,不重复的集合 数据初始化: a = set('a','b'); 或者 {'1'} #只能初始化空的集合: 相关函数: 添加数据 ...

  10. python教程_1

    1.2 不同应用领域的主流操作系统 (1)桌面操作系统 (2)服务器操作系统 (3)嵌入式操作系统 (4)移动设备操作系统 1>.桌面操作系统: Windows系列(微软的.net开发) 用户群 ...