Swift鲜为人知的特性:~=运算符是什么?

简介: 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Swift运算符中的~=算不上出名,很多人并不清楚它是做什么的,该如何运用。简而言之,使用这个运算符,可以查看一个范围是否包含某个值。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!


Swift运算符中的~=算不上出名,很多人并不清楚它是做什么的,该如何运用。简而言之,使用这个运算符,可以查看一个范围是否包含某个值。

本文将通过一些例子,带你了解这个运算符的用处和用法。开始吧!

考虑这样一种常见情况:在没有遇到任何错误的情况下,要启动网络请求并打出数据,因此要创建一个URLSessionDataTask,如下所示:

1

上述代码中就使用了~=,以检查状态码整数值是否在200到300之间(不包括两极),如果是,则结果是成功的。否则,将输出一条错误消息。

更改print语句并启动任务,实际上会得到有效响应,状态码是200:

2

1

代码在一个Xcode Playground中运行

再来看看另一个在后台使用~=运算符的例子。假设有一个简单的Coordinate结构并将其实例化:

              let value: (latitude:CLLocationDegrees, longitude: CLLocationDegrees) 
          } 
             let coordinate =Coordinate( 
              value: ( 
                  latitude: 40.7128, 
                  longitude: 74.0060 
              ) 
          )

使用switch语句,查看这个坐标是否在纽约市的坐标范围内(该实例被简化):

               case (40...41, 73...76): 
                   print("Hmm... seems like we found NewYork City") 
               default: 
                   print("Unknown coordinates") 
               }

指定纬度值和经度值的范围。在后台,~=运算符使用==运算符将范围内的每个值与coordinate的值进行比较:

3

Swift鲜为人知的特性还有很多,比如值绑定模式、vDSP框架、CustomStringConvertible协议、类和静态的区别等等。这些概念你都明白嘛?如果不了解的话,赶快去查漏补缺吧。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-08
本文作者:读芯术
本文来自:“cocoachina”,了解相关信息可以关注“cocoachina”

相关文章
|
5月前
|
数据处理 Swift
【Swift 开发专栏】Swift 中的运算符与表达式
【4月更文挑战第30天】Swift编程中的运算符和表达式是构建程序逻辑的核心。主要运算符包括算术(+,-,×,÷,%)、关系(==,!=,>,<,>=,<=)、逻辑(&&,||,!)、位(&,|,^,~,<<,>>)和赋值(=,+=等)运算符。表达式分为算术、关系、逻辑、位和赋值类型,用于数学计算、条件判断、位操作、变量赋值及复杂逻辑。熟练掌握这些基础知识对编写高效代码至关重要。
44 1
|
12月前
|
存储 Swift 索引
11 Swift运算符
Swift运算符
68 0
|
存储 Swift
Swift实用小册25: 高级运算符之位运算符的使用
在本章中,你将学会高级运算符的位运算符的使用方法。
236 0
Swift实用小册25: 高级运算符之位运算符的使用
|
前端开发 Swift
Swift实用小册02:运算符的使用
Swift实用小册02:运算符的使用
194 0
Swift实用小册02:运算符的使用
|
存储
Swift5.1—空合运算符(Nil Coalescing Operator)
Swift5.1—空合运算符(Nil Coalescing Operator)
120 0
Swift5.1—三元运算符(Ternary Conditional Operator)
Swift5.1—三元运算符(Ternary Conditional Operator)
266 0
|
Swift 索引
Swift5.1—区间运算符(Range Operators)
Swift5.1—区间运算符(Range Operators)
156 0
|
存储
Swift5.1—空合运算符(Nil Coalescing Operator)
Swift5.1—空合运算符(Nil Coalescing Operator)
113 0
|
Swift
Swift5.1—比较运算符(Comparison Operators)
Swift5.1—比较运算符(Comparison Operators)
79 0
|
安全 API Swift
Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
172 0
下一篇
无影云桌面