二、运算符和表达式

+ - * \ =
// 溢出
&+ &- &* // 合并空值运算符
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
<< >> 左移、右移运算符 左移翻倍,右移减半
*/ // 运算符重载

三、流程控制

  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)
    }
  2. while

    var count = 0
    repeat {
    print(count)
    count += 1
    } while count < 5
  3. 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:
  4. 控制转移

    // continue
    // break
    // fallthrough 可以实现oc switvh中的隐式贯穿
    // return
    // throw // 语句标签
  5. guard

    guard true else {
    print("when false do something")
    } print("when true do something")
  6. 检查API可用性

    if #available(iOS 10, macOS10.12, *) {
    
    } else {
    
    }

【学习】重学Swift5-运算符&流程控制的更多相关文章

  1. python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法

    基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...

  2. day04 运算符 流程控制 (if while/of)

    1. 运算符算数运算符 + - * / int / float :数字类型 # print(10 + 3.1)# print(10 / 3)# print(10 // 3)# print(10 % 3 ...

  3. <基础> PHP 运算符 流程控制

    PHP运算符优先级: 递增/递减 (++ / --) > 算术运算符(+ .- .* ./) > 大小比较 > 逻辑与 (&)> 逻辑或(||) > 三目 > ...

  4. python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支

    python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...

  5. python 学习之 基础篇三 流程控制

    前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进 ...

  6. GO语言学习——Go语言基础之流程控制一

    Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...

  7. 『忘了再学』Shell流程控制 — 33、if条件判断语句(一)

    目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下 ...

  8. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

  9. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  10. Lua学习笔记(2): 流程控制与循环以及初涉迭代器

    条件判断语句 --if...语句 if (表达式) then --表达式为1时执行的语句 end --if...else语句 if (表达式) then --表达式为1时执行的语句 else --表达 ...

随机推荐

  1. .NET Core 微服务架构学习与实践系列文章目录

    一.为啥要总结和收集这个系列? 2018年离开了原来的Team加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了 ...

  2. MongoDB入门实战教程(14)

    MongoDB入门实战教程转眼就到了尾声,本篇我们就来总结一下MongoDB的应用开发最佳实践. 1 关于MongoDB的连接 (1)MongoDB Driver:我们最好选择与所用MongoDB服务 ...

  3. java----IO字节流读写文件

    IO流 IO流分类 如果是按照数据的流向划分: 输入流 输出流 判断输入还是输出流 以当前程序做参照物,观察数据是流入还是流出,如果流出,则使用输出流,如果数据是流入,则使用输入流. 如果按照处理的单 ...

  4. 新能源制造升级核心引擎:五大MES厂商如何破局行业痛点?

    在全球"双碳"目标驱动下,中国新能源产业迎来爆发式增长,动力电池.光伏组件.储能设备产能持续扩张.然而,高速发展的背后,工艺变更频繁导致生产计划失效.多系统数据孤岛阻碍全流程追溯. ...

  5. pont生成api涉及泛型问题

    背景 pont是一款很好用的api生成工具. 我最近在用其生成swagger3的前端接口文件时,发现了个问题. 就是当我后端接口返回的是复杂类型的泛型的时候,生成的def类型有问题: 会直接写死泛型! ...

  6. 前端开发系列084-Node篇之fs

    本文对Node的内置模块fs进行介绍,包括模块的基本情况和简单使用. 一.模块介绍 fs文件模块(File System)是Node的内置核心模块之一,代码中可以通过var fs = require( ...

  7. 知道主机名称 如何知道ip地址

    举例 ping -4 raspberrypi 就可以知道 ip 地址了.

  8. NPM 自动管理包依赖

    简介 包依赖的实例 可以时刻保持 模块是最新的js版本 code { "name":"d3-project-template", "version&q ...

  9. python print 输出重定向

    简介 print 重定向的功能,很实用,记录一下 参考链接 https://www.cnblogs.com/marsggbo/p/10293484.html code import sys impor ...

  10. SciTech-Mathmatics-Advanced Algebra-LinearAlgebra: 矩阵的相抵、相似与合同

    https://www.math.pku.edu.cn/teachers/baozq/algebra/alg1.htm 矩阵的相抵.相似与合同 基本概念: 相抵, 相抵标准形 相似, 对角化, 迹, ...