1. 編程與Swift

轉(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)谑郑軒湍?。。。什么呢???知道自己真的要更好好的學(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 OSiOS平臺(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,iPhoneiPad的硬件。語(yǔ)法和標(biāo)準(zhǔn)庫(kù)也非常簡(jiǎn)潔,讓編程的流程大大縮短、簡(jiǎn)化

Swift采用了CObjective-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é)者?。?!,對(duì)!就是?。。?/p>

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

如果有任何問(wèn)題,請(qǐng)直接留言回復(fù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,171評(píng)論 4 61
  • 10歲與你相遇,到今天你30歲,不覺(jué)時(shí)光匆匆,恍然已過(guò)了20載。 現(xiàn)在還能依稀記起四年級(jí)初見(jiàn)你的樣子,齊耳短發(fā),秀...
    遠(yuǎn)山靖水閱讀 460評(píng)論 1 7
  • 古往今來(lái),國(guó)內(nèi)國(guó)外,小人們向來(lái)是“野火燒不盡,春風(fēng)吹又生”。大多數(shù)的人都知道小人不可得罪,對(duì)他們多采取避而遠(yuǎn)之的策...
    王虎林閱讀 796評(píng)論 2 11
  • 在讀批判性思維開(kāi)頭就講到,我們需要態(tài)度開(kāi)放不限制自己的思維,保持開(kāi)放的思維。最近一段時(shí)間分析自己的思維一直在重復(fù)某...
    自由穿越的風(fēng)閱讀 283評(píng)論 0 0
  • 1. 選取微博熱搜榜或百度搜索風(fēng)云榜中的一個(gè)熱點(diǎn),結(jié)合你的公眾號(hào),做一個(gè)選題。 現(xiàn)在處于畢業(yè)季,我做的公眾號(hào)又偏向...
    陸薇閱讀 188評(píng)論 0 0

友情鏈接更多精彩內(nèi)容