Swift是一種基于IOS,OS X和watchOS平臺的新的編程語言,2016.9已經更新到3.0版本,3.0版本基于前面2個版本做了許多改變(新增或變更或是替換)。
我是一個從c、c++過度到Object C的程序猿,目前Swift開發的IOS程序漸漸多了起來,有幸可可以自學一下Swift 3.0,所有語言差異都基于c、c++、o-c做區別,此次學習記錄參考資料來源于:
http://www.swift51.com/swift3.0/chapter1/01_swift.html,希望能給幫到有興趣的小伙伴們。
1.新的數據類型-元組(值類型)
//元組
let httPResponse = (404,"not found") //定義初始化一個網絡請求返回值元組
let (statusCode, statusMessage) =httpResponse
print("The status code is/(statusCode)")
print("The status message is/(statusMessage)")
print("The status code is/(httpResponse.0)")
print("The status message is/(httpResponse.1)")
//如果你只需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(_)標記
let (justTheStatusCode, _) = httpResponse
print("The status code is/(justTheStatusCode)")
2.可選類型
/*可選類型 用法:強制解析 ! 可選綁定
使用可選類型(optionals)來處理值可能缺失的情況??蛇x類型表示:有值,等于 x*/
let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
/*因為該構造器可能會失敗,所以它返回一個可選類型(optional)Int,而不是一個 Int。一個可選的 Int 被寫作 Int? 而不是 Int。問號暗示包含的值是可選類型,也就是說可能包含 Int值也可能不包含值。(不能包含其他任何值比如 Bool 值或者 String 值。只能是 Int或者什么都沒有。)*/
/*Swift 的 nil和 Objective-C中的 nil并不一樣。在 Objective-C中,nil是一個指向不存在對象的指針。在 Swift中,nil不是指針——它是一個確定的值,用來表示值缺失。任何類型的可選狀態都可以被設置為 nil,不只是對象類型。*/
/*有時候在程序架構中,第一次被賦值之后,可以確定一個可選類型總會有值。在這種情況下,每次都要判斷和解析可選值是非常低效的,因為可以確定它總會有值。這種類型的可選狀態被定義為隱式解析可選類型*/
let possibleString: String? = "An optional string."
let forcedString: String =possibleString!//需要驚嘆號來獲取值
另一種表示:
let assumedString: String! = "An implicitly unwrapped optional string."
let implicitString: String = assumedString //不需要感嘆號
3.空合運算符
//空合運算符(a ?? b)將對可選類型 a進行空判斷,如果 a包含一個值就進行解封,否則就返回一個默認值b, a != nil ? a! : b
let defaultColorName = "red"
var userDefinedColorName: String? //默認值為 nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
4.區間運算符//閉區間運算符(a...b)定義一個包含從 a到 b(包括 a和 b)的所有值的區間
//半開區間(a..<b)定義一個從 a到 b但不包括 b的區間
for index in1...5{
print("/(index),/(colorNameToUse)")
}
let names = ["Anna","Alex","Brian","Jack"]
let count = names.count
for i in0..<count {
print("第/(i +1) 個人叫/(names[i])")
}
5.字符串處理
//遍歷字符串
for character in"Dog!
新聞熱點
疑難解答