轉(zhuǎn)載http://wanwu.tech/2017/03/02/programming-and-Swift/
開(kāi)始的話
編程捌省,就是把你的思路轉(zhuǎn)為計(jì)算機(jī)可執(zhí)行的代碼苫纤。
怎樣編程與使用什么編程語(yǔ)言關(guān)系不大,所以我認(rèn)為到底使用什么語(yǔ)言作為編程入門(mén)并不重要,不過(guò)編程語(yǔ)言不要語(yǔ)法過(guò)于復(fù)雜卷拘,從而掩蓋編程本身還是很重要的喊废。
我現(xiàn)在主要進(jìn)行iOS方面的教學(xué)工作,所以這里采用Swift來(lái)進(jìn)行編程的入門(mén)語(yǔ)言栗弟。
需要指明的是污筷,本書(shū)的重點(diǎn)在于如何編程,Swift只是一個(gè)實(shí)現(xiàn)編程的工具乍赫,所以我不希望大家把主要精力浪費(fèi)在Swfit各種細(xì)節(jié)上瓣蛀,我也不會(huì)仔細(xì)講解這些語(yǔ)法細(xì)節(jié),這些東西完全可以在實(shí)際開(kāi)發(fā)中查文檔雷厂,慢慢體會(huì)惋增,真正吸收,不過(guò)我會(huì)給出很多相關(guān)參考資料以供學(xué)習(xí)改鲫。但是诈皿,工欲善其事,必先利其器像棘,所以Swift必須要學(xué)好稽亏。
有了一身真功夫,再有倚天屠龍?jiān)谑致铺猓軒湍憬厍浮!Q塘恪J裁茨兀科堪冢啃院辏恐雷约赫娴囊煤玫膶W(xué)習(xí),千萬(wàn)不能浪費(fèi)時(shí)間而已书斜。。荐吉。因?yàn)楫?dāng)你使用倚天劍的時(shí)候口渔,旁邊的朋友已經(jīng)在學(xué)打槍了。所以痪欲,還是那句話,打好基礎(chǔ)业踢。
Swift介紹
Swift是蘋(píng)果于2014年WWDC(蘋(píng)果開(kāi)發(fā)者大會(huì))發(fā)布的新開(kāi)發(fā)語(yǔ)言,可與Objective-C共同運(yùn)行于Mac OS和iOS平臺(tái)瞬沦,用于搭建基于蘋(píng)果平臺(tái)的應(yīng)用程序雇锡。
Swift是一款易學(xué)易用的編程語(yǔ)言,而且它還是第一套具有與腳本語(yǔ)言同樣的表現(xiàn)力和趣味性的系統(tǒng)編程語(yǔ)言绣的。Swift的設(shè)計(jì)以安全為出發(fā)點(diǎn)欲账,以避免各種常見(jiàn)的編程錯(cuò)誤類(lèi)別。
2015年12月4日惩嘉,蘋(píng)果公司宣布其Swift編程語(yǔ)言開(kāi)源踢故。長(zhǎng)600多頁(yè)的《The Swift Programming Language》可以在線免費(fèi)下載。
Swift語(yǔ)法特點(diǎn)
首先耸峭,Swift語(yǔ)法簡(jiǎn)便淋纲,容易閱讀和維護(hù)。推斷類(lèi)型使代碼更干凈本涕,不易犯錯(cuò)誤伙窃,而模塊消除了頭,并提供命名空間为障。內(nèi)存自動(dòng)管理放祟,而你甚至都不需要輸入分號(hào)舞竿。
其次窿冯,Swift更加安全。它消除了不安全的代碼执桌,變量總是初始化之前使用芜赌,數(shù)組和整數(shù)檢查溢出,內(nèi)存自動(dòng)管理缠沈。
更重要的是,Swift高效強(qiáng)大颓芭。它是為高效而強(qiáng)大的編程而創(chuàng)建的語(yǔ)言柬赐,采用了高性能的Apple LLVM編譯器,Swift代碼轉(zhuǎn)化為優(yōu)化過(guò)的本地代碼州藕,充分利用現(xiàn)代化的Mac酝陈,iPhone和iPad的硬件。語(yǔ)法和標(biāo)準(zhǔn)庫(kù)也非常簡(jiǎn)潔锈死,讓編程的流程大大縮短遇西、簡(jiǎn)化
Swift采用了C和Objective-C語(yǔ)言中的優(yōu)秀成分严嗜,包括了很多其他語(yǔ)言的特征,如類(lèi)型漫玄,流程控制和運(yùn)算符压彭,還提供了面向?qū)ο蟮奶匦宰巢唬珙?lèi)與協(xié)議皱碘。
Swift特有許多其他的功能,如:
- 閉包的統(tǒng)一與函數(shù)指針
- 元組和多個(gè)返回值
- 泛型
- 快速而簡(jiǎn)潔的迭代范圍或集合
- 支持的方法健蕊,擴(kuò)展的協(xié)議結(jié)構(gòu)踢俄。
- 函數(shù)式編程模式,例如:映射(map)和過(guò)濾器(filter)
這本書(shū)面向誰(shuí)
面向純初學(xué)者5招俊A斩ぁ!跟压,對(duì)!就是你U鸾6阕!
![](https://gengyabc.github.io/assets/images/posts/swift/2017-03-02-programming-and-Swift/you.png)
這里會(huì)有很多練習(xí)和挑戰(zhàn)笋庄,鍛煉你的編程技能倔监,測(cè)試你的編程能力
你需要什么
首先,你需要熱情静暂,沒(méi)有熱情谱秽,請(qǐng)走開(kāi)摹迷。
其次峡碉,你需要一臺(tái)運(yùn)行Mac系統(tǒng)的電腦。最好使用蘋(píng)果電腦鲫寄,如果限于經(jīng)濟(jì)條件疯淫,暫時(shí)可以使用黑蘋(píng)果或者蘋(píng)果虛擬機(jī),因?yàn)閱渭兊膶W(xué)習(xí)Swift并不會(huì)使用太多系統(tǒng)資源靠抑。(其實(shí)使用Linux系統(tǒng)甚至Windwos系統(tǒng)也是可以的适掰,但是配置比較復(fù)雜,這里不做介紹)
最后载城,你需要安裝Xcode 8或者以上版本费就。本書(shū)使用Swift 3語(yǔ)法,所以必須要Xcode 8或者以上才可以睬澡。(如果不是Mac系統(tǒng),可以使用其他編輯器煞聪,有興趣可以自己查閱文檔)
體系
本書(shū)將從基礎(chǔ)到高級(jí)逝慧,循序漸進(jìn)的介紹如何編程,并充分利用Swift特性云稚,將Swift的威力充分發(fā)揮沈堡。
詳細(xì)體系,我基本寫(xiě)完再補(bǔ)充吧窿给,畢竟率拒,這個(gè)只是一個(gè)初稿。
說(shuō)明
本書(shū)初稿的體系借鑒《Swift Apprentice v2.0》角撞,加入自己對(duì)編程的理解勃痴,并且會(huì)逐步滲入本人學(xué)習(xí)《Structure and Interpretation of Computer Programs》(SICP)的體會(huì)。
為什么不按照SICP來(lái)寫(xiě)一個(gè)Swift版本呢沛申?最主要原因是我的能力不夠劣领,另一個(gè)原因是這樣對(duì)初學(xué)者太難了尖淘。