var? label = "ascdsf"? ? ? ? ? ?
?let width = 94 ? ? ?
?label = label + String(width)? ? ? ? ? ? ? ? ? ? ?
?? print(label);? ? ? ? ? ? ? ? ? ? ?
?? //可以在一行中聲明多個常量或者變量,用逗號隔開? ? ? ?
?var x = 0,y = 0, z = 0? ? ? ? //如果代碼中有不需要改變的值,只需要改變值聲明為變量??
? //------元組------把多個值組合成一個復(fù)合值宽气。元組內(nèi)的值可以是任意類型,并不要求是相同類型? ? ? ?
?let http404Error = (404, "Not Found")//這個元組被描述為---一個類型為(int ,String)的元組? ? ? ? print(http404Error)? ? ? ??
//可以把任意順序的類型組合成一個元組掩蛤,這個元組可以包含所有類型。如(int,int,int,int)等? ? ? ? ? ??
? ? //可以將一個元組的內(nèi)容分解成單獨的常量和變量陈肛,然后就可以正常使用它們了? ? ?
?? let (statusCode, statusMessage) = http404Error? ? ? ? print(statusCode)? ? ? ? ? ??
? ? //當只需要一部分元組值時揍鸟,分解的時候就可以把要忽略的部分用下劃線(_)標記? ? ? ? let (justth,_) = http404Error? ? ? ? print(justth)? ? ? ? ? ? ? ?
?//通過下標來訪問元組中的單個元素,下標從零開始? ? ? ? ? ? print(http404Error.0)
? //元組重點---元組在臨時組織值的時候很有用句旱,但是并不適合創(chuàng)建復(fù)雜的數(shù)據(jù)結(jié)構(gòu)阳藻。如果數(shù)據(jù)結(jié)構(gòu)并不是臨時使用,那就使用類或者結(jié)構(gòu)體而不是元組谈撒。
? ?//-------可選------使用可選(optionals)來處理值可能缺失的情況--可選表示:有值或者沒有值? ? ? ? ? ? ? ?
?//當你確定可選包確實含值之后腥泥,你可以在可選的名字后面加一個感嘆號(!)來獲取值。這個驚嘆號表示“我知道這個可選有值啃匿,請使用它蛔外∏悖”這被稱為可選值的強制解析(forced unwrapping):? ? ? ??
var serverReCode: Int? = 404//serverReCode包含一個可選的Int值404? ? ? ? serverReCode = nil//現(xiàn)在不包含值? ? ? ??
//重點:nil不能用于非可選的常量和變量。? ? ? ? ? ? ??
? var survery: String? //survery被自動設(shè)置為nil----:Swift 的nil和 Objective-C中的nil并不一樣夹厌,在Objective-C中豹爹,nil是一個指向不存在對象的指針。但是在Swift中尊流,nil不是指針--它是一個確定的值帅戒,用來表示值缺失? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
//----隱式解析可選-----把想要用作可選的類型的后面的問號(string?)改成感嘆號(stringQ录肌)來聲明一個隱式解析可選,當可選被第一次賦值之后就可以確定之后一直有值的時候钟哥,隱式解析可選非常有用迎献。隱式解析可選主要被用在swift中類的構(gòu)造過程中,? ? ? ? let possibleString: String? = "An optional string."? ? ? ? print(possibleString!) // 需要驚嘆號來獲取值? ? ? ? // 輸出 "An optional string."? ? ? ? ? ? ??
? let assumedString: String! = "An implicitly unwrapped optional string."? ? ? ? print(assumedString)? // 不需要感嘆號? ? ? ? // 輸出 "An implicitly unwrapped optional string."? ? ? ?
?//注意:如果一個變量之后可能變成nil的話請不要使用隱式解析可選腻贰。如果你需要在變量的生命周期中判斷是否是nil的話吁恍,請使用普通可選類型。? ? ? ? ? ? ? ? ? ? ?
?? let age = -3? ? ? ? assert(age <= 0, "A person's age cannot be less than zero")? ? ? ? ? ? ? ? ? ? ? ? //1.把值轉(zhuǎn)換成字符串的方法:把值寫到括號里播演,并且在括號之前寫一個反斜杠? ? ??
? let str = "\(width)"? ? ? ? debugPrint(width)? ? ? ? ? ? ? ? print(str)? ? ? ? ? ? ? ?
?//2.使用方括號[]來創(chuàng)建數(shù)組和字典冀瓦,并使用下標或者鍵(key)來訪問元素? ? ? ? ? ? ? ? var shopArr = ["1","2","3"]? ? ? ? shopArr[0] = "4"? ? ? ? print(shopArr)? ? ? ? var shopDic = [? ? ? ? ? ? "as":"12",? ? ? ? ? ? "sd":"23",? ? ? ? ? ? ]? ? ? ? shopDic["df"] = "34"? ? ? ? ? ? ? ? print(shopDic)??
?//要創(chuàng)建一個空數(shù)組或者字典,使用初始化語法? ? ? ?
?let emptyarr = Array()? ? ? ? ? ? ? ? print(emptyarr)? ? ? ? let emptyDictionary = Dictionary()? ? ? ? print(emptyDictionary)? ? ? ? let empty = Dictionary()
print(empty)
//如果類型信息可以被推斷出來写烤,你可以用[]和[:]來創(chuàng)建空數(shù)組和空字典----就像你聲明變量一樣
//--------控制流---------
//使用if和switch來進行條件操作翼闽,使用for-in、for洲炊、while和do-while來進行循環(huán)感局。包裹條件和循環(huán)變量括號可以省略,但是語句體的大括號是必須的
let sourceArr = [12,23,34,45,56,67,78,89,90]
for sorce in sourceArr {
if sorce > 60 {
print("及格")
}else{
print("不及格")
}
}