【Swift4】(4) 控制流 for | switch | if-else

Swift开发——循环执行方式 本文将介绍 Swift 语言的循环执行方式。 阅读详情

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展。博主创作的 《前端面试复习笔记》(点击订阅),广受好评,已帮助多人提升实力、拿到 offer。现在订阅,私聊我即可获取一次免费的模拟面试机会,帮你评估知识点的掌握程度,获得更全面的学习指导意见!

控制流

  • 顺序
  • 循环
  • 选择

循环

  • for-in

  • for

  • while

  • do-while

  • for-in

1、遍历区间
2、遍历字符串
3、遍历数组
4、遍历字典

for 循环的几种表示:

for i in 0...10 {
//0...10表示包含头尾的0到10之间所有的整数
//0..<10表示包含头不包含尾的0到9之间所有的整数
//0...10这种条件区间内不能出现任何的空格
} 
//如果不关心循环本身的索引,可以直接用下划线如下
for _ in 0...10 {
}
//在遍历数组的时候,Swift还提供了一种特别方便的方式(利用元祖)
for (index,value) in array.enumerated() {
//index是下标,value是值
//这样使得遍历数组能写的更加简洁优雅
}

选择

  • if-else
  • switch
var rating:Character = "A"
if  rating == "A"{
    print("Well")
}else if rating == "B" {
    print("xx")
}else {
    print("yy")
}

//break 可省略
switch rating {
case "a","A": //注意
   print("Well")
   break
default:
   print("yy")
}
  • switch 高级使用
var score = 50


//break 可省略
switch score {
case 0:
   print("egg")
case 1..<60:
   print("bad")
default:
   print("not result")
}


let coord = (1,1)
switch coord
{
case (0,0):
    print("it is at origin")
    fallthrough  //向下判断
case (_,0): //使用下划线(_)忽略部分数值
    print("(0,\(coord) if on the x-axis")
case (0,_):
    print("(0,\(coord) if on the y-axis")
case (-2...2,-2...2): //使用区间
    print("it is include")
case let(x,y) where x == y: //逻辑操作
    print("x==y")
default: //除非包含所有情况,否则default 不能省
     print("default")
}

let info = ("1","控制流")
switch info {
case (_,let name) where name.hasPrefix("控制"):
    print("有控制流")
default:
    print("无控制流")
}
  • 控制转移

1、fallthrough

使用switch判断时,值落入一个case,还有机会落入下一个switch。
但是,fallthrough不能使用在任意Switch语句中,不能使用其下面的Case中含有变量的case中

2、break

跳出当前循环体,记住是循环体

3、continue

跳过当前操作,进入下一个循环

  • 示例:二维数组、标签
var board = Array<Array<Int> >() //二维数组
for i in 0...10
{
    board.append(Array(repeatElement(0, count: 10)))
}

let randx = Int(arc4random()%10)
let randy = Int(arc4random()%10)
board[randx][randy] = 1
board

var i = 0,j = 0
mainloop:for i in 0..<10{ //给外层循环添加一个标签mainloop
    for j in 0..<10 {
        if board[i][j] == 1 {
            break mainloop //break 针对mainloop 跳出
        }
    }
}
print("board[\(i)][\(j)] = 1")
IOS Swift 从入门到精通: For 循环, While 循环, 重复循环, 退出循环, 退出多重循环, 跳过项目, 无限循环 循环让我们重复代码直到条件为假。最常见的循环是for,它将循环内的每一项分配给一个临时常量。如果您不需要for循环提供的临时常量,请使用下划线,这样 Swift 可以跳过该工作。存在while循环,您可以提供明确的条件来检查。while尽管它们与循环相似,但repeat循环总是运行其循环主体至少一次。您可以使用退出单个循环break,但如果您有嵌套循环,则需要使用,break后跟您在外循环之前放置的任何标签。您可以使用 循环跳过项目continue。 阅读详情

相关推荐

BMS短路测试避坑指南:从炸管到稳定,我是如何搞定MOS管和TVS的

本文详细记录了BMS短路测试中MOS管和TVS的优化过程,从驱动电阻调整、PCB寄生参数控制到TVS选配策略,提供了一套实用的调试方法论。通过实战案例解析,帮助工程师避免常见陷阱,实现稳定可靠的短路测试性能。

weixin_30652897的博客 140

Swift基础 for循环

循环语句下的forloop forloop是标签语句,一般用于结束循环(主要是外循环) var i,j:Int var s:Int forloop:for i in 1...10 { for j in 1...10 { s = i*j print("i*j=\(s)") if (s>50) { print("i*j>50,退出外循环");

乐事派的专栏 2802

从理论到实践:用CST微波工作室完成单站雷达RCS仿真的完整指南

本文提供了一份利用CST微波工作室进行单站雷达RCS仿真的完整实践指南。文章深入剖析了从求解器选择(重点推荐积分方程法)、模型与材料设置、平面波激励定义到后处理分析的完整逻辑链条,旨在帮助工程师不仅完成仿真,更能理解其背后的物理原理与工程考量,从而高效、精准地评估目标的电磁散射特性。

weixin_29256771的博客 179

swift for循环_Swift快速入门(一)之 Swift基础语法

Swift快速入门(一)之 Swift基础语法近期重新学习了一遍Swift语言,主要以《Swift编程权威指南(第2版)》为教程,学习过程中结合比对Java语言特性将学习心得作为三篇笔记:Swift基础语法,Swift面向对象编程,Swift高级编程。本文为第一篇《Swift基础语法》主要涵盖以下内容类型、常量和变量if-else条件语句switch语句数 整数和浮点数循环 for和while字符...

weixin_39927799的博客 1169

GCC调试黑科技:-fomit-frame-pointer优化下如何保证栈回溯能力

本文深入探讨了GCC编译器在启用`-fomit-frame-pointer`优化选项时如何保证栈回溯能力。通过分析`.eh_frame`段的结构与DWARF调试信息,提供了从编译选项配置到实战调试的完整解决方案,帮助开发者在性能优化与调试能力之间找到最佳平衡点。

u6v7w8x的博客 904

深度学习实战12(进阶版)-利用Dewarp实现文本扭曲矫正

大家好,我是微学A1, 我们在生活中会看到一些拍摄扭曲的图片,我们在通过OCR识别的时候,因为扭曲的厉害,而无法识别,我们需要对图片进行处理。

微学AI的博客 3156

Swift基础知识:9.Swift循环

用于在循环中控制代码的执行流程。循环语句在编程中非常常见,可以用于处理重复性的任务,例如遍历数据、执行一系列操作等。Swift 中的循环语句提供了丰富的功能和灵活的语法,可以满足各种循环逻辑的需求。循环在每次循环开始时计算条件表达式的值,只有在条件为真时才执行循环体。循环会先执行一次循环体,然后在每次循环开始时计算条件表达式的值。在 Swift 中,循环语句用于多次执行特定的代码块。循环用于遍历一个集合中的所有元素,例如数组、字典、范围等。循环等不同类型的循环语句。循环类似,不同之处在于。

长沙火山 1549

在 ABAP Push Channel 里玩转 Detached Client:用 Attach Handle 把 WebSocket 连接交接给业务逻辑

摘要:本文介绍了ABAP Push Channels (APC)中的Detached Client技术,该技术通过将WebSocket连接建立与后续处理分离,实现更高效的实时通信。核心流程包括创建连接、使用connect_and_detach交接连接、以及通过attach handle重新附着发送消息。文章还探讨了PCP协议和AMC技术在企业级推送场景中的应用,并通过示例代码展示了Detached Client的具体实现方式。这种设计解决了传统轮询的资源浪费问题,特别适用于生产线监控、客服系统等需要服务端主

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2308

iOS Swift No.5 - 控制流 - if/switch

第五章 控制流 3. Conditional Statements (条件语句) 条件语句里面会有几个不同的条件代码,当执行或遇到不同条件是执行的代码块是不一样的,我们用条件语句来执行值在不同条件下的输出。 if 语句相关 if // 只考虑一种情况 var tempertureInFahrenheit = 30 if tempertureInFahrenheit >= 30 { p...

Hello Swift ! 338

华为OD机试双机位C卷-魔法收积木 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【魔法收积木】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为od - 魔法收积木。

qq_45776114的博客 1939

ESP32 VSCode开发环境配置

ESP32 VSCode开发环境配置

qq_53529450的博客 507

Swift-2 函数及typealias、switch、ifelse、for

2

qq_27909209的博客 369

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Swift编程六(控制流)

案例代码下载 控制流 Swift提供了各种控制流程语句。这些包括多次执行任务的while循环; if,guard和switch基于特定条件执行不同代码分支的语句; 和如break和continue对执行流在代码中转移到另一个点的语句。 Swift还提供了for- in循环,可以很容易地遍历数组,字典,范围,字符串和其它序列。 Swift的switch声明比许多类C语言中的声明强大得多。案例可以匹配...

jiuchabaikaishui的专栏 414

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Swift学习(1)

swif(1) println("Hello, world") 输出结果: Hello, world swift使用let来声明常量,使用var来声明变量 //变量 var myVariable = 42 myVariable = 50 //常量 let myConstant = 42 如果初始值没有提供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割 let im...

A08110123的博客 183

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Swift基础语法 - 流程控制

Swift基础语法 流程控制

假装自己很用心的博客 873

Swift 控制流

前言 指令的执行顺序在程序结构中,我们称之为控制流。控制流,也称为控制结构,通常包括:顺序结构、条件结构、循环结构、转向结构。 1、条件分支结构 1.1 if 语句 1)if 语句 Swift 中的 if-else 和结构和 C 语言以及 OC 中的结构相似,只不过判断语句不需要写在小括号中。 if condition { statements 1 } else { ...

weixin_30487201的博客 87

深入浅出Swift(2)—— 控制流

Swift除了具备Csuo'y

清雨小竹 1037

Swift 流程控制

1、if else let age = 5 if age<5 { print("age<5") }else if age ==5{ print("age=5") }else{ print("age>5") } 注意:if 后面的小括号可以省略、条件后面的大括号不能省略 if 条件后面只能跟bool类型 2、w...

weixin_30938149的博客 82

小码哥Swift技术学习(day04--流程控制)

1.if后面的条件可以省略小括号2.条件后面的大括号不可以省略3.if后面的条件只能是Bool类型(以前0是假,非0是真,现在不能用整型数字) 1.repeat-while相当于C语言中的do-whlie2.从Swift3开始,去除了自增(++)、自减(--)运算符 如果对于数组来说就是有范围的远,如果剥离了数组,那么就是没有范围 6.如果能保证已处理所有情况,也可以不必使用default

qq_43658148的博客 206

swift 3.0 -流程控制

// //  main.swift //  swift-流程控制 // //  Created by yidong on 16/9/28. //  Copyright © 2016年 东哥. All rights reserved. // import Foundation /*    swift 流程控制主要分为: 顺序   分支   循环    1.顺序:从上到

东哥 1515

swift入门第三章集合、控制流,标签语句

数组swift中的集合有:数组、字典、set。三者的区别为 1、在swift中的集合类=是值类型,而OC中的是引用类型 2、在swift中使用引用计数的概念来管理内存,但是引用计数只适用于对象类型,值类型不需要管理 3、swift中引用计数管理内存的方法与OC中的引用计数管理内存的方法还是不同的 4、在swift中数组是可以存放任意类型的,OC中只能存放对象类型 数组1. swift中,Array也

阿洋的博客 478

swift学习初步(三)--控制流操作

在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛。好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了。 好了,废话不多说了,让我们回到正题上面来吧!首先是控制流的操作,如果你熟悉其他语言的花,相信你一定会想到if/else,while,do/while,甚至是switch。没错,其实在swift里面也是这些东...

weixin_30765577的博客 123

Swift -2- 控制流

控制流 使用if和switch作为条件控制。使用for-in、for、while、do-while作为循环。小括号不是必须的,但主体的大括号是必需的。 let individualScores = [75, 43, 103, 87, 12] var teamScore = 0 for score in individualScores{   if sco...

weixin_34096182的博客 81

IOS开发Swift笔记04-流程控制

if-else let age = 10 if age>=22 { print("可结婚") } else if age>=18{ print("成年") } else if age>7{ print("少年") } else{ print("小孩") } /** if后面的条件是bool类型 if后面的条件可以省略小括号 条件后面大括号不可以省略 */ while var num = 5 while num>0 { print("n

qq_25218777的博客 219

Swift5.0笔记 - 2. 流程控制

1. if-else if后面的条件可以省略小括号; 条件后面的大括号不可以省略; if后面的条件只能是Bool类型; let age = 4 if age >= 22 { } 2. while repeat-while相当于C语言中的do-while var num = 5; while num > 0 { print("num is \(num)") num -= 1 }//打印了5次 var num01 = 5; repeat { print("num

南城同学的博客 227
上一篇: 【Swift4】(3) 数组 | 字典 | 示例
下一篇: 【Swift4】(5) 函数基本使用 | 可变参数 | inout引用传递 | 函数类型返回值 | 函数嵌套
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值