轉(zhuǎn)載http://wanwu.tech/2017/03/02/programming-and-Swift/
開(kāi)始的話
編程,就是把你的思路轉(zhuǎn)為計(jì)算機(jī)可執(zhí)行的代碼。
怎樣編程與使用什么編程語(yǔ)言關(guān)系不大,所以我認(rèn)為到底使用什么語(yǔ)言作為編程入門并不重要,不過(guò)編程語(yǔ)言不要語(yǔ)法過(guò)于復(fù)雜,從而掩蓋編程本身還是很重要的。
我現(xiàn)在主要進(jìn)行iOS方面的教學(xué)工作,所以這里采用Swift來(lái)進(jì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)谑?,定能幫你。。。什么呢???知道自己真的要更好好的學(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ò)誤類別。
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ù)。推斷類型使代碼更干凈,不易犯錯(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ǔ)言的特征,如類型,流程控制和運(yùn)算符,還提供了面向?qū)ο蟮奶匦?,如類與協(xié)議。
Swift特有許多其他的功能,如:
- 閉包的統(tǒng)一與函數(shù)指針
- 元組和多個(gè)返回值
- 泛型
- 快速而簡(jiǎn)潔的迭代范圍或集合
- 支持的方法,擴(kuò)展的協(xié)議結(jié)構(gòu)。
- 函數(shù)式編程模式,例如:映射(map)和過(guò)濾器(filter)
這本書(shū)面向誰(shuí)
面向純初學(xué)者!?。?/strong>,對(duì)!就是你!??!

這里會(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é)者太難了。