文章只是根據自身情況,記錄swift語言和其他語言的區別,請勿對號入座,請根據自身情況選擇性學習: 注意:類型注解作為一個需要了解的知識點,不做深入研究,因為在項目實操中很少需要寫類型注解;理由是:Swift 可以推斷出常量或者變量的類型 當你聲明常量或者變量的時候可以加上類型注解(type annotation),說明常量或者變量中要存儲的值的類型。如果要添加類型注解,需要在常量或者變量名后面加上一個冒號和空格,然后加上類型名稱。 聲明中的冒號代表著“是...類型”,所以這行代碼可以被理解為: “聲明一個類型為 String ,名字為 x 的變量?!?/p>
“類型為 String ”的意思是“可以存儲任意 String 類型的值?!?/p>
x 變量現在可以被設置成任意字符串: 完整代碼: 你可以在一行中定義多個同樣類型的變量,用逗號分割,并在最后一個變量名之后添加類型注解: Swift提供的整數類型有:Int、Int8、Int16、Int32、Int64、UInt、UInt8、UInt16、UInt32、UInt64 帶U的為無符號整數; 除非你需要特定長度的整數,一般來說使用 Int 就夠了。這可以提高代碼一致性和可復用性。即使是在32位平臺上,Int 可以存儲的整數范圍也可以達到 -2,147,483,648 ~ 2,147,483,647,大多數時候這已經足夠大了。 類型別名(type aliases)就是給現有類型定義另一個名字。你可以使用 typealias 關鍵字來定義類型別名。 本例中,exmple 被定義為 UInt32 的一個別名。因為它是別名,exmple.min 實際上是 UInt32.max ,所以會給 typeExmple 賦一個初值 4294967295。 項目實操中沒有用到過這個特性,在其他語言實戰中也沒有遇到有類似需求的場景,不知道干啥用的; 聲明一個可選常量或者變量 Swift 的 nil 和 Objective-C 中的 nil 并不一樣。在 Objective-C 中,nil 是一個指向不存在對象的指針。在 Swift 中,nil 不是指針——它是一個確定的值,用來表示值缺失。任何類型的可選狀態都可以被設置為 nil,不只是對象類型。 在Swift中,返回值或者數據類型后面加 ?表示可選類型,值可以為空,但是后面加 !的話,表示告訴編譯器,這個是一定有值的,相當于強制解析,如果沒有值的話,就會崩。這是前提。實際應用舉例如下:
一、類型注解
var x:String
x = "高效碼農"print(x)
var x:Stringx = "高效碼農"print(x)
var red, green, blue: Double
二、整數
三、類型別名
typealias exmple = UInt32var typeExmple = exmple.max
四、可選類型
var surveyAnswer: String?print(surveyAnswer)// surveyAnswer 被自動設置為 nil
五、可選綁定
let url = URL.init(string: "https://www.xugj520.cn")//正常寫慣了OC的話,為了保證程序的穩定性,強制解析前一定會加判斷,通常會這么寫if url != nil { let request = URLRequest(url: url!)}//但是在工程中會有很多很多的可選類型,如果每個都這么寫的話,看起來肯定不太優雅,所以Swift推出了一個可選綁定的寫法if let url = url { let request = URLRequest(url: url)
本文源自頭條號:高效碼農若涉及版權請聯系本站刪除,謝謝!