Swift 常量、变量、条件判断
- 常量用 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 常量、变量、条件判断的更多相关文章
- Swift入门学习之一常量,变量和声明
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
- (转载)PHP 判断常量,变量和函数是否存在
(转载)http://www.jb51.net/article/17881.htm 如果你看懂了上面一句话,那么接下来都是废话,PHP手册写的还是很全的.一句话就把我标题中的问题全部解决了. 还是举几 ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
- 10_bash_变量_条件判断及运算_sed_循环
shell编程: 编译器.解释器编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量):变量在使用前,必须事先声明,甚至还需要初始化 事先转换成可执行格式 C/C++.C#.Ja ...
- puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless
puppet(4) 变量.数据类型.表达式.条件判断语句-if.case.selector语句 puppet变量: 1.名称必须以$开头:赋值使用=,支持追加赋值+=: 2.每个变量都有两种引用格式: ...
- PHP 判断常量,变量和函数是否存在
判断变量是否被定义:defined() if (defined('CONST_NAME')) { //do something } 判断变量是否存在:isset() ,注意变量未声明或声明时赋值为NU ...
- python自学-day2(变量、if条件判断、运算符操作)
1.变量 变量只是用于保存内存位置,将变量存储在内存中的作用,方便后面调用,这意味着,在创建变量时会在内存中开辟一个空间. 变量命名规则: 由字母.数字.下划线(_)组成 不能以数字开头 不能使用 P ...
- py定义变量-循环-条件判断
定义变量 # print('hahaha')name = " let'go "title = '刘伟长得 "很帅"!'conent = ''' let' ...
- swift 2.0 语法 常量变量
import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...
随机推荐
- 解析swf文件头,获取flash的原始尺寸
要想解析swf文件头,首先要弄清楚的当然是swf文件格式规范.规范中对swf文件格式作了详细的说明.关于swf文件头,它是由以下几个部分组成:+-------+---+--------+------- ...
- [ SHELL编程 ] 文件内容大小写替换
shell编程经常会碰到字符串.文件内容大小写的转换,在不同的场景下选择合适的命令可以提高编程效率. 适用场景 需大小写转换的文件内容或字符串 字符串大小写替换 小写替换大写 echo "h ...
- 编译Linux内核(Mac OS平台)
操作系统第一次实验需要编译Linux内核,我之前在Mac上一直使用的都是Parallels Desktop这个软件,所以这次也将课程网站上提供的Ubuntu安装在了PD上,但是编译完内核后无法进入Ub ...
- 分页插件 PageHelper
一步:pom 依赖 二步:controller层 三步:id调用了三个包,org.n3r.idworker的包,这是一体的不用修改,调用即可生成,电商,腾讯都会用这个 , 前三位是年日 四步:serv ...
- Hibernate 再接触 多对一与一对多
多对一单向关联 数据库设计: 错误做法:在多方加外键 在多这一方加外键 第一种 annotation Group.java package com.bjsxt.hibernate; import ja ...
- Android-Anim-Playground
Android-Anim-Playground Latest animation ideas I developed to make apps more attractive. Why having ...
- java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #1) for method ApiService.getMethod
@FormUrlEncoded @POST("getMethod") Observable<Bean> getMethod(String field); 今天在写Ret ...
- webpack-manifest-plugin
[webpack-manifest-plugin] Webpack plugin for generating an asset manifest. This will generate a mani ...
- backdoor-factory
启动backdoor-factory 寻找大于100字节的代码洞 执行的结果 查看适合的payload程序 iat_reverse_tcp_stager_threaded分片段注入方式 使用这种注入方 ...
- Java 读写Properties配置文件(转)
转自:http://www.cnblogs.com/xudong-bupt/p/3758136.html