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