【学习】重学Swift5-运算符&流程控制
二、运算符和表达式
+ - * \ =
// 溢出
&+ &- &*
// 合并空值运算符
a??b // a必须是一个可选类型。b必须与a的储存类型相同 与(a = nil ? a! : b)相同
// 区间运算符
a...b // 闭区间运算符 从a到b 包含ab
a..<b // 半开区间运算符 从a到b 不包含b
a... ...a ..<a // 单侧区间
// 倒叙索引
reversed()
// comparable区间
"a"..."z"
// 位运算 与其他语言一致
/*
~ 位取反运算符 所有位数取反
& 位与运算符 都是1时返回1
| 位或运算符 有一个是1时返回1
^ 位异或运算符 对应位不相同返回1
<< >> 左移、右移运算符 左移翻倍,右移减半
*/
// 运算符重载
三、流程控制
for-in
for i in 0..3 { } for c in "hello world" { } let names = ["zhangsan", "lisi", "wangwu"]
for name in names { } let numberOfLegs = ["spider" : 8, "ant" : 6, "cat" : 4]
for (animal, legs) in numberOfLegs {
print("\(animal) have \(legs) legs")
} for t in numberOfLegs {
print(t.0, t.1)
} for _ in 1...5 {
anser *= 4
} // 分段
let minuteInterval = 5
for ticket in stride(from: 0, to: 50, by: minuteInterval) {
print(ticket)
}
for ticket in stride(from: 0, through: 50, by: minuteInterval) {
print(ticket)
}
while
var count = 0
repeat {
print(count)
count += 1
} while count < 5
switch
// swift中 switch语句必须包含全部内容,并且没有隐式贯穿
// swift case中可以匹配多个值,写成多行,只需用逗号隔开 case "a","A":
// swift中case还可以进行区间匹配 case 1..<5:
// swift中case还可以进行元组匹配
// swift中case还可以进行值绑定 case (let x, 0):
// swift中case还可以进行where检查 case let(x,y) where x == y:
控制转移
// continue
// break
// fallthrough 可以实现oc switvh中的隐式贯穿
// return
// throw // 语句标签
guard
guard true else {
print("when false do something")
} print("when true do something")
检查API可用性
if #available(iOS 10, macOS10.12, *) { } else { }
【学习】重学Swift5-运算符&流程控制的更多相关文章
- python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法
基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...
- day04 运算符 流程控制 (if while/of)
1. 运算符算数运算符 + - * / int / float :数字类型 # print(10 + 3.1)# print(10 / 3)# print(10 // 3)# print(10 % 3 ...
- <基础> PHP 运算符 流程控制
PHP运算符优先级: 递增/递减 (++ / --) > 算术运算符(+ .- .* ./) > 大小比较 > 逻辑与 (&)> 逻辑或(||) > 三目 > ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
- python 学习之 基础篇三 流程控制
前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进 ...
- GO语言学习——Go语言基础之流程控制一
Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...
- 『忘了再学』Shell流程控制 — 33、if条件判断语句(一)
目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下 ...
- Java学习笔记之:Java流程控制
一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...
- Lua学习笔记(2): 流程控制与循环以及初涉迭代器
条件判断语句 --if...语句 if (表达式) then --表达式为1时执行的语句 end --if...else语句 if (表达式) then --表达式为1时执行的语句 else --表达 ...
随机推荐
- C# 选择文件保存路径
public static string SetSaveFilePath(string filterType= "所有文件|*.*",string fileName="我 ...
- Spring AI Alibaba智能测试用例生成
还在为手动编写测试用例秃头吗?面对复杂需求文档,一个一个抠测试点,不仅效率低,还容易遗漏关键场景?为了解决该问题,笔者依托Spring AI开发了测试用例生成工具~ 后端源码:https://git ...
- centos8.2安装jenkins
前言 前几天双十一,因为是腾讯云的新用户,就在它家买了个服务器. 想着以前一直想搞一个jenkins,但由于买的阿里云服务器配置低,就一直没搞,这下好了,拿它连连手. 安装jenkins必须依赖的ja ...
- 1007acm 感想
代码是抄的 代码在 discuss里面 注释是思路, 简单的讲就是先把近的点放在一起然后看周围6个点的距离最近的值 #include <cstdio> using namespace st ...
- dpkg 安装 依赖不全的软件
sudo dpkg -i netease-cloud-music_1.0.0-2_amd64_ubuntu16.04.deb sudo apt-get -f -y install sudo dpkg ...
- vs 开发 qt 遇到 无法找到 Visual Studio 2010 的生成工具(平台工具集 =“v100”) 解决方案
参考链接 相关解决方案
- Terminai:重新定义终端的革命性工具
Terminai 是 Codigger 推出的一款革命性终端工具,它巧妙地将传统终端命令的强大功能与图形用户界面(GUI)的直观易用性无缝融合,旨在为用户带来前所未有的编辑体验 .它不仅是一个工具,更 ...
- 星闪(Bear Pi-H2821)开发板带宽、功耗测试
一.开发环境 硬件:H2821星闪开发板*2(BS21,BLE.SLE二合一),TypeC数据线*2 性能参数: 支持 BLE4.0/4.1/4.2/5.0/5.1/5.2/5.3/5.4 和 SLE ...
- win11系统出现内部错误2203的问题
有不少深度系统的win11专业版用户,在电脑上安装软件时提示2203的内部错误的问题,导致软件安装失败,这该如何解决呢?如果您也遇到这个问题不知道如何解决.就来看看深度技术小编整理的解决方案,希望有所 ...
- FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
<FFmpeg开发实战:从零基础到短视频上线>一书的"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那 ...