前言:
?作為一個iOS開發(fā)者來說 OC實在是難以下口的語言,雖然我已經(jīng)學習OC已經(jīng)一年多了,但是對他的語法奇葩還是不喜歡。今年 6月份的apple 開發(fā)者大會已經(jīng)過去了三個月,到14號為止 swif 3.0終于發(fā)布了,鑒于語法的新穎跟興趣,我開始學習swift。
Swift介紹:
Swift維基百科? ,這里我就直接引用維基百科的介紹。
開發(fā)環(huán)境:
Mac os 10.11.6(黑蘋果) + Xcode+ Playgroud
正文:
一,基本語法
var ?fristString ="Hello Swift"
print(fristString)
特別說明就是 Swift ?不會變量初始化 ?,都是以var(變量) 跟 let(常量)作為類型。這里特別說明就是swift 采用是一種數(shù)據(jù)類型推測,編譯器會更加你的value 來判斷value的數(shù)據(jù)類型。個人感覺Swift最新穎的地方就是不用 ; 作為代碼結(jié)束位
var num =0
num+=1
print("num =\(num)")
輸出 : num = 1
letmax_width =100
max_width+=100
出錯,因為常量不可改變
二、數(shù)據(jù)類型
1,Int
一般來說,你不需要專門指定整數(shù)的長度。Swift 提供了一個特殊的整數(shù)類型Int,長度與當前平臺的原生字長相同:
在32位平臺上,Int和Int32長度相同。
在64位平臺上,Int和Int64長度相同。
除非你需要特定長度的整數(shù),一般來說使用Int就夠了。這可以提高代碼一致性和可復用性。即使是在32位平臺上,Int可以存儲的整數(shù)范圍也可以達到-2,147,483,648~2,147,483,647,大多數(shù)時候這已經(jīng)足夠大了。
2,UInt
Swift 也提供了一個特殊的無符號類型UInt,長度與當前平臺的原生字長相同:
在32位平臺上,UInt和UInt32長度相同。
在64位平臺上,UInt和UInt64長度相同。
3,浮點類型
Double表示64位浮點數(shù)。當你需要存儲很大或者很高精度的浮點數(shù)時請使用此類型。
Float表示32位浮點數(shù)。精度要求不高的話可以使用此類型。
4,布爾類型
邏輯上的真(true)假(false),與OC不一樣的是OC的真(Yes)假(NO)?
5,字符串
就是字符的集合,例如,"Hello World"
6,字符
指單個字母 , "A"
7,可選類型
使用可選類型(optionals)來處理值可能缺失的情況??蛇x類型表示有值或沒有值。這特別重要,因為option基本貫穿整個swift,類型OC的 not null
8,類型別名
類型別名對當前的類型定義了另一個名字,類型別名通過使用 typealias 關鍵字來定義
typealias newname = type
例如
typealias newInt ?= Int
三、常量
let name = <initial value> 一旦聲明之后不可改變
四、變量
var name = <initial value>
例如
varnum1 =15//推測為Int類型
varnum2 :Int//定義Int類型
varstr1 ="Hello Swift"http://推測String類型
varstr2 :String//定義String類型
varstr3 :String="Helloc Swift"http://定義String類型并賦初值
四、運算符
Swift 提供了
算術運算符
比較運算符
邏輯運算符
位運算符
賦值運算符
區(qū)間運算符
其他運算符
由于其他運算符都是已經(jīng)存在,所以這里單單記錄區(qū)間運算符
區(qū)間運算符分為兩種
閉區(qū)間運算符,1...10 ,即 1 - 10
開區(qū)間運算符,1..<10,即 1 - 9
for i in1...10{
print("i =\(i)")
}
for i in1..<10{
print("i =\(i)")
}