首页 > 其他分享 >swift switch case 的复杂用法

swift switch case 的复杂用法

时间:2023-09-11 11:13:09浏览次数:46  
标签:case 匹配 apple switch print swift banana

Swift 中的 switch 语句非常灵活,可以用于处理各种复杂的条件。下面是一些 switch 语句的复杂用法:

  1. 匹配值和范围: 你可以使用 case 子句来匹配特定的值,也可以匹配一个值范围。例如:
swiftlet number = 3

switch number {
case 1:
print("Number is 1")
case 2, 3, 4:
print("Number is 2, 3, or 4")
case let 5..<10:
print("Number is between 5 and 10")
default:
print("Number is not between 1 and 10")
}

在这个例子中,case let 5..<10: 匹配了5到9之间的任何数字。 2. 匹配值的数组: 你可以使用数组中的值作为 case 的参数。例如:

swiftlet fruit = "apple"

switch fruit {
case ["banana", "apple"]:
print("This is a banana or an apple")
default:
print("This is not a banana or an apple")
}

在这个例子中,case ["banana", "apple"]: 匹配了数组 ["banana", "apple"] 中的任何元素。 3. 匹配值的集合: 你也可以使用集合(Set)中的值作为 case 的参数。例如:

swiftlet fruit = "apple"

switch fruit {
case Set([ "banana", "apple"]):
print("This is a banana or an apple")
default:
print("This is not a banana or an apple")
}

在这个例子中,case Set([ "banana", "apple"]): 匹配了集合 Set([ "banana", "apple"]) 中的任何元素。 4. 匹配值的元组: 你可以使用元组中的值作为 case 的参数。例如:

swiftlet (x, y) = (2, 3)

switch (x, y) {
case (1, _):
print("x is 1")
case (_, 2):
print("y is 2")
case (1, 2):
print("x is 1 and y is 2")
default:
print("None of the above")
}

在这个例子中,case (1, _): 匹配了元组中第一个元素为1的情况,case (_, 2): 匹配了元组中第二个元素为2的情况,以此类推。在 case (1, 2): 中,两个元素都被明确地进行了匹配。

标签:case,匹配,apple,switch,print,swift,banana
From: https://www.cnblogs.com/sexintercourse/p/17692977.html

相关文章

  • swift5笔记(五):字典
    swift5笔记(五):字典Harry__Li关注IP属地:陕西2022.10.3115:48:06字数31阅读176初始化swift中需要指出字典中的类型//初始化字典varmdict:[String:Any]=[:]varmdict1=[String:Any]()letdict:[String:Any]=["name":"lhr","age":"100"]增加......
  • Swift 中的Range类型和 Range运算符
    Swift中的Range类型和Range运算符赵邦华关注IP属地:广东0.3312020.10.1122:50:49字数574阅读5,198Swift中有五个最常用的Range类型:•ClosedRange:a...b•Rangea..<b•PartialRangeThrough:...b•PartialRangeFrom:a...•PartialRangeUpTo:..<b对应的,有......
  • switch 的巩固
    总结一下switch就是适用于某个变量对应于某个特定的值,会比if快一些,然后注意事项就是,要记得break不然case是穿透型,会一直往下输出,defaut与switch相当于if与else......
  • Swift 详解
    菜鸟w3cswfitgg官网英文中文中文......
  • 执行python脚本报错:case by sslerror(sslcertVerificationerror(1,ssl:vertificate_ve
    【现象】  使用python编写了一个请求,报错ssl证书过期问题【解决办法】   requests.packages.urllib3.disable_warnings()  r=requests.post(service_url,data=payload,headers=self.headers,verify=False)参考链接:https://www.cnblogs.com/sea-stream/p/14......
  • iOS开发Swift-12-列表UI,TableViewController,动态响应Button勾选-待办事项App(1)
    1.创建新项目 为项目添加图标 2.将TableViewController添加到界面中 将箭头移动到TableView上来,代表它是首页(根页面).选中ViewController,点击Delete,对它进行删除.将代码ViewController.swift也删除掉. 新建一个CocoaTouchClass.  将TableViewControlle......
  • this.onMetaChange is undefined和Ext.Container.LAYOUTS[this.layout.toLowerCase()]
    由于现在公司所有项目开发要用ExtJS来做前台展示,所以不得不自学,不然就得面临被自我淘汰了。估计可能报同样的错但却不是同样的原因,不过保存下来还是可以作为下一次寻找原因的第一思路。^_^1、报错:this.onMetaChangeisundefinedhttp://localhost:8080/ExtStudy/extjs/ext-all.jsL......
  • 如何使用 Update in Case 语句和列作为别名
    在MySQL中,可以使用UPDATE和CASE语句来更新表中的数据,并且可以使用列别名来引用列。以下是一个示例,展示如何在UPDATE语句中使用CASE和列别名:假设有一个名为users的表,包含id、name和age列。要根据条件更新age列,可以使用如下的UPDATE语句:UPDATEusersSETage=CASEWHENname=......
  • Proj CDeepFuzz Paper Reading: Invariance-inducing regularization using worst-cas
    Abstract本文:Task:1.proveinvariance-inducingregularizerscanincreasepredictiveaccuracyforworst-casespatialtransformations2.provethatonadversarialexamplesfromtransformationgroupsintheinfinitedatalimitrobusttrainingcanalsoimpro......
  • switch文件格式转换
    1.链接https://github.com/dezem/SAK/releaseshttps://github.com/dezem/SAK2.NSZ===>NSP格式2.1prod.keys替换复制yuzu的prod.keys覆盖工具的prod.keys2.2运行工具......