前言:
?作為一個(gè)iOS開發(fā)者來說 OC實(shí)在是難以下口的語言佛呻,雖然我已經(jīng)學(xué)習(xí)OC已經(jīng)一年多了颗品,但是對他的語法奇葩還是不喜歡切油。今年 6月份的apple 開發(fā)者大會已經(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 ?不會變量初始化 ?间校,都是以var(變量) 跟 let(常量)作為類型。這里特別說明就是swift 采用是一種數(shù)據(jù)類型推測页慷,編譯器會更加你的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可以存儲的整數(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)你需要存儲很大或者很高精度的浮點(diǎn)數(shù)時(shí)請使用此類型胀屿。
Float表示32位浮點(diǎn)數(shù)塘揣。精度要求不高的話可以使用此類型。
4宿崭,布爾類型
邏輯上的真(true)假(false)亲铡,與OC不一樣的是OC的真(Yes)假(NO)?
5,字符串
就是字符的集合,例如奖蔓,"Hello World"
6赞草,字符
指單個(gè)字母 , "A"
7吆鹤,可選類型
使用可選類型(optionals)來處理值可能缺失的情況厨疙。可選類型表示有值或沒有值檀头。這特別重要轰异,因?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)")
}