每天學一點Swift 運算子與表示式 二

2021-08-01 02:14:13 字數 2310 閱讀 2255

.溢位運算子

1. 預設情況下,

swift

不允許整型變數被賦予乙個超出表示範圍的數,否則會報錯。

2. swift

中,如果希望資料溢位時

swift

程式只是對溢位的資料進行截斷,而不是報錯,則可以使用

swift

提供的溢位運算子。

3. swift為整型

計算提供了5個以

&開頭的溢位運算子。

&+:溢位加

&-:溢位減

&*:溢位乘

&/:溢位除

&%:溢位求餘

舉個栗子:

var a : int16 = 65535;

a = a * 10;  //

此時,程式不會報錯,執行的結果將會把左邊溢位的部分拋棄

4. 值的上溢:超出的型別表示的最大範圍,即真實值的左邊被截斷拋棄了。

5. 值的下溢:超出了型別表示的最小防偽,即真實值的右邊被截斷拋棄了。

6. 除零溢位,舉個栗子:

let x = 20

let y = x / 0     //

報錯let z = x % 0     //

報錯如果寫為:

let y = x &/ 0;    //

不會報錯,得到

0let z = x &% 0;    //

不會報錯,得到0四

.位運算子

1.位運算子通常在圖形、影象處理和建立裝置驅動等底層開發中使用的比較多。使用位運算子可以直接運算元據的原始

bit位。尤其是在使用自定義的協議進行通訊時,使用位運算對原始資料進行編碼和解碼也非常有效。

2. 同其他的程式語言,

swift

中的位運算子有6個:

&:按位與

|:按位或

^:按位異或

~:按位取反

<<:

左位移運算

>>:

右位移運算五.

擴充套件後的賦值運算子+=,

-=,*=,

/=,%=

,&=,|=

,^=,<<=, >>=六.

範圍運算子

1. swift

提供了兩個範圍運算子,他們可以非常方便地構建一種資料結構,這種資料結構包含了特定範圍內的所有值。

2. 閉範圍運算子:

ā...b

用於定義乙個從a~

b(包括a、

b邊界值)的所有值的範圍。並且對於閉範圍運算子而言,a不能

大於b3. 半開範圍運算子:

a..用於定義乙個從a~

b(包括

a,但是不包括

b)的所有值的範圍。同樣的,

a不能大於b。

4. 使用

for-in

遍歷的例子:

var rangle = 2...6

for num in rangle 

var books = ["abc", "123", "def", "456"]

for index in 0..

可以看出,使用半開範圍運算子對遍歷陣列很方便。七.

比較運算子

>, >=, <, <=, ==, !=, ===, !==

其中:===

:恆等於,該運算子通常只用於判斷引用型別的變數,只有當兩個引用變數都引用了同乙個物件時才返回

true

,否則返回

false。!

==:不恆等於,同

===的作用相同,只是返回值恰好相反。八.

邏輯運算子:&&,

||,!,&

,|,^

九.三目運算子

——?:

十. nil

合併運算子

1. swift

提供了nil

合併運算子:

??,用法位:

a ?? b

;2.

功能是判斷可選型別變數

a是否為

nil,如果a不為

nil,程式將會返回可選型別

a所包含的實際值;如果a為

nil,則會返回預設值b。

3. 使用該運算子時要求b和

a所包含的型別一致。比如a是

int?,那麼b就是

int型別,如果a是

string

?,那麼b就是

string

型別。4

,如果??的左運算元不為

nil,那麼??右邊的操作不會被計算,也就是說??是短路運算子。

5. ??運算子的左運算元可以不是可選型別的,但是這樣的話,使用??就沒有意義了。

每天學一點Swift 泛型 一

一 泛型的作用 1.泛型是一種非常靈活的語法,泛型允許程式在函式 列舉 結構體 類中定義型別形參,這種型別形參實際代表的型別是動態改變的 程式可以等到真正使用這些函式 列舉 結構體時才為這些型別形參傳入實際的型別。而且每次使用這些函式 列舉 結構體 類時都可以為泛型的型別形參傳入不同的型別。2.例項...

每天學一點Swift 閉包 三

八 捕獲上下文中的變數和常量 1.閉包可以用訪問或修改閉包所在上下文中的變數或常量 對於常量只是訪問 這個過程被稱為捕獲。2.即使定義這些變數或常量的作用域已經不存在了,閉包也依然可以訪問或修改他們。3.swift 中最簡單的閉包形式就是巢狀函式 巢狀函式可以捕獲它所在的封閉韓式的變數 常量或引數。...

每天學一點(一)

記錄學習內容 js中對於函式的建立,在使用函式表示式和函式宣告相結合時,正確寫法為 var sum function sum a,b console.log sum 1,2 輸出3 若定義的變數和函式名稱書寫不一致,則會產生錯誤。var sum1 function sum2 a,b console....