Swift 基礎(chǔ)語(yǔ)法二

一 數(shù)組

數(shù)組是一堆有序的由相同類型元素構(gòu)成的集合類型

定義

let stuArray : Array<String> = ["zhangsan","18"]

獲取長(zhǎng)度

array.count

判空

array.isEmpty

取值

array[1]

array[0...2]

array[0..<2]

array[..2]

array[2..]

array.first

array.last

array.prefix(2)

array.suffix(2)

添加數(shù)據(jù)

array.append("zhouliu")

插入數(shù)據(jù)

array.insert("haojian",at:0)

修改數(shù)據(jù)

array[0] = "wangqi"

刪除數(shù)據(jù)

remove 會(huì)改變?cè)瓟?shù)組的值,返回被刪除的那個(gè)元素

drop 不會(huì)改變?cè)瓟?shù)組的值锡搜,返回刪除元素后的新數(shù)組

array.remove(at:0)
array.removeFirst()
array.removeLast()
array.removeAll

array.dropFirst()
array.dropLast()

是否包含

array.contains("zhangsan")

倒序

array.reverse

索引

var students = ["zhangsan","Lisi","Wangwu","zhangsan"]

students.firstIndex(of :"zhangsan")
students.lastIndex(of :"zhangsan")

合并

var array = ["zhangsan" , "lisi","wangwu"]
var array1 = ["zhaoliu","wangqi"]

var array2 = array + array1

遍歷

var array = ["zhangsan" , "lisi" , "wangwu"]

for i in 0..< array.count
print(array[i])
}

for item in array {
print(item)

}

for item in array[0..<2]
{
print(item)
}

for (index,name) in array.enumerated() {
print(index)
print(name)
}

var array = ["zhangsan","lisi","wangwu"]

var i = array.makeIterator()

i.next()
i.next()
i.next()

二 集合

與數(shù)組的概念差不多治拿,主要區(qū)別:
元素?zé)o序
元素不能重復(fù)

let stuSet:Set<String> = ["zhangsan","18"]

數(shù)組轉(zhuǎn)集合

let stuArray = ["zhangsan","18"]

let stuSet = Set(stuArray)

定義空集合

let set: Set<String> = Set()

let set: Set<String> = []

獲取長(zhǎng)度

set.count

判空

set.isEmpty

取值

set.first

Set(set.prefix(2))

Set(set.suffix(2))

插入數(shù)據(jù)

set.insert("man")

三 字典

字典是由鍵值對(duì) key:value 對(duì)組合的集合類型
字典中的元素之間是無(wú)序的

var dict1: Dictionary<String,String> = ["name":"zhangsan","age":"18"]

var dict1: [String : String] = [:]

獲取長(zhǎng)度

dict.count

判空

dict.isEmpty

查詢數(shù)據(jù)

dict["name"]

修改數(shù)據(jù)

dict["name"] = "lisi"

刪除數(shù)據(jù)

dict.removeValue(forKey : "height")

合并

var dict1:[String:String] = ["name":"zhangsan","age":"20"]

var dict2:[String:String] = ["height":"1.8","phoneNum":"188888"]

for (key,value) in dict2 {
dict1[key] = value
}

print dict1

遍歷

var dict:[String:String] = ["name" : "zhangsan","age":"18"]

for value in dict.values{
print (value)
}

var dict :[String:String] = ["name":"zhangsan","age":"18"]

for key in dict.keys{
print(key)
}

var dict: [String:String] = ["name":"zhangsan","age":"18"]

for (key,value) in dict{
print("(key) - (value)")

}

枚舉方式遍歷

var dict :[String:String] = ["name":"zhangsan","age":"18"]

for (index,value) in dict.enumerated() {
print("(index) - (value)")
}

迭代器

var dict:[String : String] = ["name":"zhangsan","age":"18"]

var d = dict.makeIterator()

a.next()

a.next()?.value

四 函數(shù)

函數(shù)是由一組語(yǔ)句構(gòu)成的代碼塊掉冶,用于完成某個(gè)特定的功能呢。

定義與調(diào)用

訪問(wèn)修飾符 func 函數(shù)名(形式參數(shù)列表) -> 返回值類型 {
代碼塊
return 返回值
}

標(biāo)簽與名稱

每個(gè)函數(shù)的形式參數(shù) 都包含 形式參數(shù)標(biāo)簽 和形式參數(shù)名稱

可變參數(shù)

for total(numbers: Int...) -> Int{
var sum = 0
for i in numbers{
sum += i
}
return sum

}

total ()

total (numbers : 10)

輸入輸出參數(shù)

func swapInt(a:inout Int ,b: inout Int){
let temp = a
a = b
b = temp
}

var a = 10

var b = 20

SwapInt (a:&a , b:&b)

五 閉包

定義像函數(shù)纷跛,單沒(méi)有名字
調(diào)用類似函數(shù),也需要傳參數(shù)
通過(guò)查看類型會(huì)發(fā)現(xiàn)就是前面講的函數(shù)類型
閉包是一種特殊的沒(méi)有名字的函數(shù)

let squareClosure = { (param : Int) -> Int in
return param*param

}

squareClosure(3)

{ (parameters) -> return type in

statements

}

01 來(lái)順序調(diào)用閉包的參數(shù)

省略 -> 返回類型

省略 參數(shù)類型和括號(hào)

省略 一條執(zhí)行語(yǔ)句時(shí) ,return 關(guān)鍵字省略

參數(shù)名稱縮寫 改為 0+1

捕獲

var vehicle = "car"
var animal = "Cat"

let closure = { [vehicle] in

print ("Viehichle is (vechicle)")

print ("Animale is (animal)")

}

vehicle = "Airplane"

animale = "Dog"

closure ()

捕獲列表中的 vehicle 是 car 是拷貝類型

animal 是引用類型 赦拘,是 Dog

尾隨閉包

閉包是函數(shù)的最后一個(gè)參數(shù)

逃逸閉包

閉包在函數(shù)執(zhí)行完之后再調(diào)用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市卧须,隨后出現(xiàn)的幾起案子另绩,更是在濱河造成了極大的恐慌儒陨,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笋籽,死亡現(xiàn)場(chǎng)離奇詭異蹦漠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)车海,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門笛园,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人侍芝,你說(shuō)我怎么就攤上這事研铆。” “怎么了州叠?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵棵红,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我咧栗,道長(zhǎng)逆甜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任致板,我火速辦了婚禮交煞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斟或。我一直安慰自己素征,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布萝挤。 她就那樣靜靜地躺著御毅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪平斩。 梳的紋絲不亂的頭發(fā)上亚享,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音绘面,去河邊找鬼欺税。 笑死,一個(gè)胖子當(dāng)著我的面吹牛揭璃,可吹牛的內(nèi)容都是我干的晚凿。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼瘦馍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼歼秽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起情组,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤燥筷,失蹤者是張志新(化名)和其女友劉穎箩祥,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肆氓,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袍祖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谢揪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕉陋。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拨扶,靈堂內(nèi)的尸體忽然破棺而出凳鬓,到底是詐尸還是另有隱情,我是刑警寧澤患民,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布缩举,位于F島的核電站,受9級(jí)特大地震影響酒奶,放射性物質(zhì)發(fā)生泄漏燃箭。R本人自食惡果不足惜列林,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望摘能。 院中可真熱鬧站刑,春花似錦另伍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至因悲,卻和暖如春堕汞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晃琳。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工讯检, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卫旱。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓人灼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顾翼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子投放,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容