Swift 是一門靜態的強類型語言。它以簡單、干淨、可讀性好等特點著稱。
1、 為什麼是靜態語言?
首先靜態語言比之動態語言,更具有安全性。它不允許類型之間自動的進行轉換,必須要顯示的轉換。Swift是類型安全的,它會在編譯的時候就檢查你的代碼,任何類型不匹配時都會報錯。這使得編程人員能夠盡快捕獲並盡可能早地在開發過程中修正錯誤。但是,這並不意味著你必須指定每一個常量和變量所聲明的類型。如果不指定你需要的類型,Swift使用類型推導來指定出相應的類型。類型推導使編譯器在編譯的時候通過你提供的初始化值自動推導出特定的表達式的類型。類型推導使Swift比起C或Objective-C只需要更少的類型聲明語句。常量和變量仍然顯式類型,但大部分指定其類型的工作Swift已經為你完成了。當你聲明一個常量或變量並給出初始值類型的時候,類型推導就顯得特別有用。這通常是通過給所聲明的常量或變量賦常值來完成的。
例如:你要聲明一個用戶名字符串常量,並為他賦值叫“json”.
let userName = "json"
不必指定什麼類型,在編譯時會通過類型推導的機制將常量userName 自動設為 賦的值的類型。
2、什麼叫強類型語言?
即變量或者常量,必須要先定義然後才能使用,否則會報錯。
好了 ,言歸正傳,下面給大家介紹下swift的基本類型和流程控制
3、基本類型
包括整形Int、浮點數Double和Float、布爾類型Bool以及字符串類型String。Swift還提供了兩種更強大的基本集合數據類型,Array和Dictionary。這裡要提到。除基本數據類型外,swift還有一個稱為“元祖”的數據類型,這是他獨有的。後面我會給大家解釋。
4、常量和變量
常量和變量的命名方式還是采用大家熟悉的”駝峰“命名。常量指向一個特定類型的值,一旦賦值,不能再次修改。變量也是指向一個特定類型的值,但它可以根據需要做出修改。另外swift的宗旨是簡潔,所以每行可不寫分號
前面說了,swift是強類型的語言,所以它的常量和變量需要先聲明再使用。那麼常量和變量怎麼聲明呢?
常量的聲明:
let開頭,表明你要聲明一個常量 後接變量名,一般采用駝峰命名方式命名,用=符號連接 ,再接你要賦的值。如果這時你不指定初始值,需指定常量類型。
例如: let usreName = "tom" //聲明時賦值
let userName String ///聲明時不初始化值
userName = "tom"
注意:由於swift的語法要求規劃化,所以值和運算符之間要麼都不留空格,要麼都留空格。
值得注意的是在聲明字符時有所不同,學過其他高級語言的朋友都知道,其他高級語言在聲明字符時一般把值用單引號引住,然swift有所不同,它的字符賦值還是用雙引號,但要用注解聲明。
例如:
var ch :Character = "c" // 字符值 必須用雙引號,並且是一個字符
用let開頭聲明的常量,在賦值後,不能做修改。
變量的聲明:
var 開頭,其他的於常量的聲明一致,這裡就不在詳細描敘,大家參照常量的聲明。
5、流程控制
if esle:
例如:
let i = 1
if i {
print("編寫錯誤!")
}
就swift 而言 ,這種寫法是錯誤的。i是一個常量,不是一個表達式,也就不能當成是boolean類型來用。
正確的編寫應該是:
let i = 1
if i==1 {
print("編寫正確!")
}
for :有兩個形式。
第一種:例如:
for var i = 0;i < 1000;i++{
print("說一千遍我愛你!")
}
第二種:例如:
let array = [0,1,2,3,4,5,6,7,8,9]
for a in array {
print("\(a),") //輸出結果為:0,1,2,3,4,5,6,7,8,9
}
第二種方法相比於第一種,最明顯的是不用知道數組的長度,就可以遍歷出每個元素。
while :也是循環控制語句。可以和for之間完美轉換。例如:
var i = 0
while i < 1000 {
print("說一千遍我愛你!")
i++
}
repeat while:循環控制語句,跟java的do while一樣的作用,都是先執行一次,再判斷條件。例如:
var i = 0
repear {
print("說一千遍我愛你!")
i++
} while i < 1000
switch:分支判斷語句。以前我們有的朋友也學過,但swift中switch的作用更加強大和突出了。它可以接收任意的常量和變量,只要前後的類型保持一致。例如:
let i = "abc"
switch i{
case "abc":
print ("abc")
default:
print ("其他情況")
}
注意:Swift要求switch 是個完整的結構,也就是說switch中必須有一個case以上和一個default。
好了,今天的分享就到這。希望可以幫到剛剛學習ios或者想要學ios的朋友們,我也是新手,有不足和不對的地方求大神指正。讓我們一同進步!大家可以關注我的微博http://www.cnblogs.com/lb0129/