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 ...
随机推荐
- c++复习:STL之理论基础
1 STL(标准模板库)理论基础 1.1基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之 ...
- VsCode 使用习惯设置(备份)
{ "window.menuBarVisibility": "toggle", "workbench.statusBar.visible": ...
- linux 3.10 的中断收包笔记
来看下NAPI和非NAPI的区别: (1) 支持NAPI的网卡驱动必须提供轮询方法poll(). (2) 非NAPI的内核接口为netif_rx(),NAPI的内核接口为napi_schedule() ...
- oracle数据表中的中文变问号
先查询一下select userenv('language') from dual;查看oracle字符集, $ sqlplus /nolog SQL> connect sys/oracle a ...
- Redis入门及主从配置
1.Redis入门简介 Redis是一个开源的使用ANSI C语音编写.支持网络.可基于内存亦可持久化的日志型,Key-Value数据库.支持存储的value类型包括 string(字符串).list ...
- vue练习
<div id="app"> <div> <span>姓名</span> <input type="text&quo ...
- workerman Channel组件全局广播
<?phpuse Workerman\Worker; require_once '../../web/Workerman/Autoloader.php';require_once '../../ ...
- linux下arm汇编注释符
注意使用 @ 符 # 是整行注释符 @ 是行内注释符 以为 @ 是行内注释符,害我调试了半天.
- 如何解决Android Studio解决DDMS真机/模拟器无法查看data目录问题
android app开发中,文件.SharedPreference或数据库默认保存在/data文件夹下,有时需要查看该文件夹下数据文件是否创建成功时,发现竟然打不开data目录: 具体解决方式如下: ...
- Excel批量修改文件
[1]把下图片放在一个文件目录下面,如E:\SVM_Class\airplanes [2]点击“开始”→“运行”(或按快捷键win+R),在弹出框中输入“cmd”,进入dos操作界面. [3]do ...