成為一名 iOS 開發(fā)者也有一段時間了,由于參與到的項目都是團(tuán)隊項目,團(tuán)隊中的成員個人情況不盡相同。到目前為止 Swift 已經(jīng)推出到 4.0.3,雖然實際中還未使用過 Swift ,但是我覺得還是需要學(xué)習(xí)一下蘋果一直在推薦的新語言!下面是我在學(xué)習(xí)中的一些筆記:
學(xué)習(xí)任何語言,都是從一句“hello, world!”開始你的探索之旅。在Swift中,使用下面的這行代碼向控制臺輸出:
print("hello, world!")
在Swift中,通過這一行代碼就可以向控制臺輸出這條偉大的語句,并且不必在每條語句后面添加分號(;)。使用這種方式有一個很重要的原則就是:在 IDE 中,每行有且僅有一句代碼!即每行代碼獨(dú)占一行。當(dāng)滿足這個前提之后就可以省略每行代碼后面的分號。(推薦使用該種方式)
- 打印變量
print(變量名)
例如:
let name: String = "nick"
print(name)
print()這個方法很強(qiáng)大,上述的例子中我們打印了一個字符串常量。假如你想打印其他類型的變量,只需要將變量名傳入即可。并且打印語句中已經(jīng)添加了換行,使用 playground可以發(fā)現(xiàn)它在打印的后面自動添加了一個換行符“\n”。
- 變量、常量
Swift 把程序中使用到的數(shù)據(jù)大體上分為兩類:常量、變量 兩大類- 聲明常量使用 let 關(guān)鍵字,使用 let 關(guān)鍵字聲明的常量一但初始化后,其值就不能被改變。
let name- 聲明變量使用 var 關(guān)鍵字,使用 var 關(guān)鍵字聲明的變量的值在初始化之后依然是可以隨時改變的
var age
在使用 Swift 作為開發(fā)語言時,如果在聲明一個變量的時候就初始化它,那么就不需要為其聲明數(shù)據(jù)類型,因為編譯器會通過初始值自動推導(dǎo)出該變量的數(shù)據(jù)類型;但是假如在聲明一個變量的時候并沒有將其初始化,僅僅只是聲明一個變量,那么建議同時聲明該變量中存儲的數(shù)據(jù)類型。
舉例:
///這種情況下編譯器能夠根據(jù)初始值推導(dǎo)出變量的數(shù)據(jù)類型,可以不用聲明,當(dāng)然即使聲明了也是沒有問題的!不過需要注意的是,聲明的數(shù)據(jù)類型和初始值的數(shù)據(jù)類型必須完全一致!!
let name = "nick"
var age = 15
///只是在聲明一個變量而沒有初始化的時候建議聲明一下該變量中存儲的數(shù)據(jù)的數(shù)據(jù)類型
let name: String
var age: Int
- Swift 中的基本數(shù)據(jù)類型
注意: Swift 中的基本數(shù)據(jù)類型的關(guān)鍵字都是首字母大寫,而其他的關(guān)鍵字都是全小寫
Int: 整型;Float:浮點(diǎn)型;Double:雙精度浮點(diǎn)型;String:字符串型;Bool:布爾型
特別注意: Swift 取消了 C 語言中的非零即真的思想,真正使用 Bool 類型進(jìn)行邏輯判斷。Bool 類型的變量取值只有兩個,真:true;假:false。
- 集合類型
-
數(shù)組
var members = [String]()聲明一個數(shù)組的同時要聲明數(shù)組中元素的數(shù)據(jù)類型,數(shù)組中的元素類型可以聲明為:Int、Double、String、Any;如果數(shù)組元素類型聲明為 Any,那么數(shù)組中可以存放任何數(shù)據(jù),并且數(shù)組中存放的每個元素的數(shù)據(jù)類型可以是不一樣的??!
let list: [Any] = [1, "111", true] -
字典
var dic = [String : Int]()
var dic: [String : Any] = ["name" : "nick", "friends" : ["niki", "alex"], "age" : 15,] -
注意: 在 Swift 中沒有類似于 OC 中的可變和不可變的數(shù)據(jù)類型,創(chuàng)建出的集合類型的對象(數(shù)組、字典)都是可以添加和修改其值的,并且允許在集合的最后一個元素的末尾添加一個逗號,只可以添加一個!
以上內(nèi)容僅是個人的學(xué)習(xí)記錄,如有不恰當(dāng)或者錯誤的地方希望不吝賜教,共同進(jìn)步。