Swift 基本運算子和集合型別

2021-07-05 08:28:10 字數 3013 閱讀 9170

swift 支援大部分c語言的運算子, 其中有所改動的有取餘運算子(%),可以對浮點數進行取餘運算. 還增加了c中沒有的表示在兩數之間的區間運算子( … ).

且改進許多運算子的特性減少編碼錯誤.

1.在賦值運算子中如果符號的右邊是乙個多元組, 它的元素可以馬上被分解為多個變數或常量

2.區間運算子: 閉區間運算子為 「… 」 3…6 從3到6之間的值包含3和6

半閉區間:半閉區間 a..b定義乙個從a到b但不包括b的區間,即包含第乙個值但是不包含最後乙個值

3. 判斷字串是否為空可以寫為 字串.isempty判斷返回的布林值

let name = "zhang san"

countelements(name)

4.字串比較 : 依然用函式hasprefix 和 hassuffix來比較字首相等和字尾相等, 相等可以使用 == 來判斷

5.修改字串的大小寫: 使用函式uppercasestring 改為大寫和 lowercasestring改為小寫

構建乙個空陣列

var someints = [int] ()

或 var someints = int ()

2.swift 還提供了一種指定陣列大小和設定預設值的的初始化方法

var array = [double](count: 3, repeatedvalue: 1.0)

因為型別推斷的存在也可以寫為

var array = array (count: 3, repeatedvalue: 2.3)

3. 可以通過加法運算子把兩個型別相同的陣列建立出乙個新的陣列

var otherarray = [double](count: 3, repeatedvalue: 2.5)

var sixarray = array + otherarray //實現兩個陣列的合併

4.迅速建立乙個陣列,如下:

也可以使用賦值運算子+=新增資料項

shoppinglist += "baking powder"

也可以使用這種方法直接新增相同型別的資料

shoppinglist += ["chocolate spread", "cheese", "butter"]

可以使用下標一次改變一系列資料值

三個換為了兩個,所以陣列中元素個數減一

6.呼叫陣列的insert(atindex:)方法來在某個具體索引值之前新增資料項:

shoppinglist.insert("maple syrup", atindex: 0) //使maple syrup變為陣列中的第乙個數
類似的可以使用removeatindex方法來移除陣列中的某一項,它會把特定的項刪除,並返回(返回值無用時可以直接忽略)

let removeone = shoppinglist.removeatindex(0)  //刪除0項, 將一處的值賦給removeone
也可以使用removelast刪除陣列中的最後一項,返回刪除的值

7.陣列的遍歷 依然可以正常的使用for-in和for迴圈, 也可以使用全域性enumerate函式進行遍歷,它可以返回乙個由每個資料項的索引值和資料組成的鍵值對

for (index, value) in enumerate (shoppinglist)
1.swift的字典通過dictionary定義,

var airports : dictionary = ["tyo": "tokyo", "dub": "dublin"]

或是 var airports = ["tyo": "tokyo", "dub": "dublin"] //swift 可以推斷出使dictionary型別

2.讀取和修改字典

可以使用count來獲取字典中資料項個數: airports.count

可以使用正確型別的key為索引新增資料項

airports["lhr"] = "london" //使字典中現在的資料項個數增加到3個

也可以使用key改變value值

airports["lhr"] = "london heathrow"

updatevalue(forkey:)函式修改字典. 在這個key不存在的時候新增 ,返回乙個nil,存在時修改值,返回原來的value值.

let oldvalue = airports.updatevalue("dublin internation", forkey: "dub")
直接由key檢索出value

let airportname = airports["lhr"]  //直接返回value值
可以通過給摸個key對應的value賦值為nil 而刪除鍵值對

airports["lhr"] = nil
removevalueforkey方法也可以用來在字典中移除鍵值對,在鍵值對存在的情況下會移除該鍵值對並且返回被移除的value或者在沒有值的情況下返回nil:

3.字典的遍歷

可以使用for-in 和(key, value)元組來遍歷字典

for (airportcode, airportname) in airports
也可以通過訪問key或是value屬性檢索字典

for airportcode in airports.keys  

for airportname in airports.values

通過字典的keys和values屬性可以直接構造陣列

let airportcodes = array(airports.keys) 

let airportnames = array(airports.values)

Swift 基本運算子

1,zebra 2 true,因為 1 小於 2 3 3 bird 4,dog 4,dog true,因為 4 等於 4,dog 等於 dog blue 1 purple 1 true blue false purple true 錯誤,因為 不能比較布林型別注意 1.bool 不能被比較,也意味著...

Swift 基本基本運算子

swift 1,賦值運算子 swift賦值表示式是沒有值的,不支援連續賦值。2,算術運算子 除數可為0 var f 1 0.0 求餘的結果的正負取決於被除數 3,溢位運算子 根據二進位制來進行計算 var willunderflow uint8.min uint8的最小值 willunderflow...

Swift語法 基本運算子

1 賦值運算子 與 c 語言和 objective c 不同,swift 的賦值操作並不返回任何值。所以以下 更優化了.if x y算術運算子 2 與 c 語言和 objective c 不同的是,swift 預設情況下不允許在數值運算中出現溢位情況。但是你可以使用 sw ift 的溢位運算子來實現...