成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Swift鮮為人知的特性:~=運算符是什么?

開發 后端
Swift運算符中的~=算不上出名,很多人并不清楚它是做什么的,該如何運用。本文將通過一些例子,帶你了解這個運算符的用處和用法。開始吧!

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

Swift運算符中的~=算不上出名,很多人并不清楚它是做什么的,該如何運用。簡而言之,使用這個運算符,可以查看一個范圍是否包含某個值。

本文將通過一些例子,帶你了解這個運算符的用處和用法。開始吧!

考慮這樣一種常見情況:在沒有遇到任何錯誤的情況下,要啟動網絡請求并打出數據,因此要創建一個URLSessionDataTask,如下所示:

  1. let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in 
  2.                                   guardlet datadata = data, 
  3.                                       let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else { 
  4.                                           iflet errorerror = error { 
  5.                                             print(error) 
  6.                                           } else { 
  7.                                              print("Somethingwent wrong") 
  8.                                           } 
  9.                                           return 
  10.                                   } 
  11.                                         print("Received data: \(data)") 
  12.                               } 

上述代碼中就使用了~=,以檢查狀態碼整數值是否在200到300之間(不包括兩極),如果是,則結果是成功的。否則,將輸出一條錯誤消息。

更改print語句并啟動任務,實際上會得到有效響應,狀態碼是200:

  1. let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in 
  2.                                  guardlet datadata = data, 
  3.                                       let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else { 
  4.                                           iflet errorerror = error { 
  5.                                             print(error) 
  6.                                           } else { 
  7.                                              print("Somethingwent wrong") 
  8.                                           } 
  9.                                           return 
  10.                                   } 
  11.                                         print("Received data: \(data), status code: \(response.statusCode)") 
  12.                               } 
  13.              task.resume() 

 

Swift鮮為人知的特性:~=運算符是什么?

 

 

代碼在一個Xcode Playground中運行

 

再來看看另一個在后臺使用~=運算符的例子。假設有一個簡單的Coordinate結構并將其實例化:

  1. structCoordinate { 
  2.               let value: (latitude:CLLocationDegrees, longitude: CLLocationDegrees) 
  3.           } 
  4.              let coordinate =Coordinate
  5.               value: ( 
  6.                   latitude: 40.7128, 
  7.                   longitude: 74.0060 
  8.               ) 
  9.           ) 

使用switch語句,查看這個坐標是否在紐約市的坐標范圍內(該實例被簡化):

  1. switch coordinate.value { 
  2.                case (40...41, 73...76): 
  3.                    print("Hmm... seems like we found NewYork City") 
  4.                default: 
  5.                    print("Unknown coordinates") 
  6.                } 

指定緯度值和經度值的范圍。在后臺,~=運算符使用==運算符將范圍內的每個值與coordinate的值進行比較:

Swift鮮為人知的特性:~=運算符是什么?

Swift鮮為人知的特性還有很多,比如值綁定模式、vDSP框架、CustomStringConvertible協議、類和靜態的區別等等。這些概念你都明白嘛?如果不了解的話,趕快去查漏補缺吧。

 

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2020-03-27 22:33:30

JavaScript運算符逗號

2015-06-09 11:12:31

Swift語言Swift特性

2022-08-24 15:02:17

JS空值合并運算符

2010-03-23 16:53:19

Visual Stud

2024-07-08 08:31:56

2022-11-30 16:31:48

CSS開發瀏覽器

2024-05-07 00:00:00

工具類開發者功能

2010-01-07 10:05:51

IT顧問特質

2025-01-26 10:35:42

Go語言類型

2011-05-03 13:13:52

編程PHPJava

2011-07-29 11:13:42

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2009-09-14 09:45:20

Chrome谷歌操作系統

2023-04-23 15:11:26

2019-10-08 16:24:33

Chrome瀏覽器

2009-07-09 17:38:35

2022-05-30 09:01:13

CSS技巧前端

2014-07-29 14:25:43

Unix命令

2015-08-18 10:57:52

機房制冷數據中心

2017-11-08 14:55:16

Linux命令sudo
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 台湾佬久久 | 亚洲高清在线观看 | 国产精品一区一区三区 | 成人免费小视频 | 日韩看片 | 亚洲一区 中文字幕 | 亚洲天堂av网 | 欧洲av在线 | 欧美福利久久 | 中日字幕大片在线播放 | 亚洲国产精品va在线看黑人 | 国产亚洲精品久久久优势 | 日韩一区二区在线观看视频 | 中文字幕在线观看成人 | 日韩中文字幕一区二区 | 精品在线观看入口 | 成人在线观看黄 | 欧美在线视频a | 国产精品婷婷 | 一区二区在线不卡 | 亚洲在线看 | 亚洲高清视频一区二区 | 亚洲久在线 | 天堂一区二区三区 | 999精品在线 | 天天综合永久入口 | 国产精品免费一区二区三区四区 | 成人精品一区二区三区中文字幕 | 日韩国产欧美一区 | 亚洲瑟瑟| 一区精品国产欧美在线 | 理论片87福利理论电影 | 亚洲视频免费在线观看 | 一区二区三区四区日韩 | 亚洲综合激情 | 国产一区二区三区免费视频 | 午夜天堂精品久久久久 | 99reav| 亚洲精品国产成人 | www成年人视频 | 精品成人免费一区二区在线播放 |