一. Hello World
不用編寫main函數(shù)船侧,Swift將全局范圍內(nèi)的首句可執(zhí)行代碼作為程序入口饱狂。
一句代碼尾部可以省略分號(hào),多句代碼寫到同一行時(shí)必須用分號(hào)隔開竟块。
用var定義變量缸逃,let定義常量针饥,編譯器能自動(dòng)推斷出變量\常量的類型。
Playground可以快速預(yù)覽代碼效果需频,是學(xué)習(xí)語法的好幫手 丁眼。
Command + Shift + Enter:運(yùn)行整個(gè)Playground。
Shift + Enter:運(yùn)行截止到某一行代碼昭殉。
二. Playground
關(guān)于Playground有一個(gè)好用的快捷鍵苞七,可以利用Command+0顯示和隱藏左邊欄藐守,如下圖:
如上圖,Sources是放Swift代碼文件的莽鸭,Resources是放資源文件的吗伤。
另外Playground還能進(jìn)行UIView的展示(要導(dǎo)入PlaygroundSupport),如下圖:
一個(gè)Playground可以創(chuàng)建多個(gè)Page硫眨,創(chuàng)建方式為在MyPlayground上右擊選擇New Playground Page,如下圖:
創(chuàng)建Page2之后巢块,Page2也有Sources和Resources礁阁,這里的Sources和Resources只有當(dāng)前Page可用,如果是外面的Sources和Resources就可以整個(gè)Playground可用族奢。
- 關(guān)于Playground的注釋
支持注釋嵌套:
Playground的注釋支持markup語法(與markdown相似)姥闭,開啟markup的方法如下:
注釋寫完之后,開啟markup渲染效果:Editor -> Show Rendered Markup
注意:Markup只在Playground中有效
markup示例以及效果圖如下:
Playground內(nèi)置的上下頁跳轉(zhuǎn):
三. 常量
只能賦值1次越走。
它的值不要求在編譯時(shí)期確定棚品,但使用之前必須賦值1次。
如上廊敌,age1铜跑、age2是在編譯時(shí)就確定了,但是age3在運(yùn)行時(shí)才知道值骡澈,Swift支持這樣的操作锅纺。
常量、變量在初始化之前肋殴,都不能使用囤锉,因?yàn)镾wift是為了確保代碼的安全性。如下代碼會(huì)報(bào)錯(cuò):
下面代碼是錯(cuò)誤的:
上面代碼护锤,因?yàn)闆]有確定類型所以報(bào)錯(cuò)官地,要么指定類型,要么直接賦值烙懦。
四. 標(biāo)識(shí)符
標(biāo)識(shí)符(比如常量名驱入、變量名、函數(shù)名)幾乎可以使用任何字符修陡。
標(biāo)識(shí)符不能以數(shù)字開頭沧侥,不能包含空白字符、制表符魄鸦、箭頭等特殊字符宴杀。
五. 常見數(shù)據(jù)類型
看下圖:
整數(shù)類型:Int8(1字節(jié))、Int16(2字節(jié))拾因、Int32(4字節(jié))旺罢、Int64(8字節(jié))旷余、UInt8(無符號(hào)1字節(jié))、UInt16(無符號(hào)2字節(jié))扁达、UInt32(無符號(hào)4字節(jié))正卧、UInt64(無符號(hào)8字節(jié)) 。
在32bit平臺(tái)跪解,Int等價(jià)于Int32炉旷;在64bit平臺(tái), Int等價(jià)于Int64叉讥。
查看整數(shù)的最值:UInt8.max窘行、Int16.min。
一般情況下图仓,都是直接使用Int即可罐盔。
浮點(diǎn)類型:Float,32位救崔,精度只有6位惶看;Double,64位六孵,精度至少15位纬黎,默認(rèn)是Double類型。
可能你會(huì)想把Int定義成結(jié)構(gòu)體占用的內(nèi)存空間不是多了嘛狸臣!效率不就低了嘛莹桅!其實(shí)不是的,蘋果內(nèi)部是有優(yōu)化的烛亦,而且定義成結(jié)構(gòu)體方便了很多诈泼,比如可以攜帶屬性(上面的UInt8.max、Int16.min)煤禽。
五. 字面量
注意:字符類型和字符串類型都是使用" "铐达,默認(rèn)是字符類型,所以如果想要定義成字符類型檬果,必須加上類型:Character瓮孙,如上圖所示。
六. 類型轉(zhuǎn)換
七. 元祖
一般推薦使用最后一種方式來定義元祖选脊。
訪問元祖成員的三種?式:
1.http404Error.0 使?.0訪問元祖的元素
2.http404Error.statusCode 使?標(biāo)簽訪問元祖的元素
3.statusCode 使?可選綁定,直接訪問