Joseph Campbell once said, “computers are like Old Testament gods: lots of rules and no mercy.”
好喜歡這句話树碱。計(jì)算機(jī)像是舊時(shí)代的神沉颂,全部都是規(guī)則,沒(méi)有仁慈。一切都是按指定的規(guī)則運(yùn)行纬凤。所以,編程這件事仁烹,不就是在造神嘛候齿??? 是不是有點(diǎn)熱血沸騰,又想敲代碼啦~
03 - Array Dictionary Set Enums
-
Array
創(chuàng)建一個(gè)數(shù)組
var scores = Array<Int>()
var albums = [String]()
var albums2 = ["Folklore"]
數(shù)組添加的數(shù)據(jù)類型需要是同一類型的瞳筏。使用append
方法添加稚瘾。
var temperatures = [25.3, 28.2, 26.4]
var intTemp : Int = 0
// 不能添加不同類型
// temperatures.append("Chris")
// temperatures.append(intTemp)
temperatures.append(1) // 1會(huì)被自動(dòng)轉(zhuǎn)成Double型
獲取數(shù)組元素個(gè)數(shù):.count
刪除數(shù)組指定元素:remove(at:)
刪除全部元素removeAll()
判斷數(shù)組是否包含某個(gè)元素contains()
對(duì)數(shù)組元素進(jìn)行排序sorted()
,將返回一個(gè)新的數(shù)組
對(duì)數(shù)組元素進(jìn)行反轉(zhuǎn)reversed()
姚炕,將返回一個(gè)新的數(shù)組
Tips:
當(dāng)反轉(zhuǎn)一個(gè)數(shù)組的時(shí)候摊欠,并不需要真的反轉(zhuǎn)整個(gè)數(shù)組。所以swift將數(shù)組包裝了一層ReversedCollection<Array<...>>柱宦,不要驚訝地發(fā)現(xiàn)它不再只是一個(gè)簡(jiǎn)單的數(shù)組些椒!
在賦給新的數(shù)組的時(shí)候,它會(huì)自動(dòng)去除包裝的一層掸刊。
使用這種會(huì)產(chǎn)生新的數(shù)組的方法的時(shí)候免糕,ed
會(huì)產(chǎn)生一個(gè)新的數(shù)組,不加ed
會(huì)直接在原數(shù)組上修改。例如sort()
和sorted()
-
Dictionary
創(chuàng)建一個(gè)字典
var heights = [String: Int]()
let olympics = [
2012: "London"
]
字典取值可以加一個(gè)默認(rèn)值來(lái)拆包石窑。
print(olympics[2012, default: "Unknown"])
獲取字典元素個(gè)數(shù):.count
刪除全部元素:removeAll()
-
Set
創(chuàng)建一個(gè)集合
var people = Set<String>()
// 這里要注意下牌芋,Set([...]) 中的"[ ]"
let people2 = Set(["Denzel Washington", "Tom Cruise", "Nicolas Cage", "Samuel L Jackson"])
將集合的元素排序后返回?cái)?shù)組:sorted()
添加一個(gè)元素:insert
獲取集合元素個(gè)數(shù):.count
判斷是否包含某個(gè)元素:contains()
Tips:集合相對(duì)于數(shù)組有一個(gè)特別大的優(yōu)點(diǎn),那就是查找速度特別快松逊。不管集合中的元素有多大躺屁,
contains()
方法能很快的得出結(jié)果经宏。數(shù)組會(huì)遍歷元素耐亏。
-
Enum
定義一個(gè)枚舉類型的基本寫法
enum Weekday {
case monday
case tuesday
case wednesday
case thursday
case friday
}
或者,可以快速定義:
enum Weekday {
case monday, tuesday, wednesday, thursday, friday
}
Tips: 許多語(yǔ)言沒(méi)有枚舉也可以正常運(yùn)行沪斟。對(duì)于枚舉的存在轨域,應(yīng)該是更好的避免書寫錯(cuò)誤。比如枉长,可以使用"monday", "tuesday","wednesday", "thursday", "friday"來(lái)區(qū)分類型,但是在使用的時(shí)候吼蚁,很容易拼寫錯(cuò)誤,或者忘記對(duì)應(yīng)的類型旗国。