[读书笔记][golang]《go语言-云动力》
花了一些時(shí)間,讀了樊劍虹的《go語(yǔ)言-云動(dòng)力》,就這本書的整體情況來(lái)講,還是值得讀一讀的,書中講了一些另辟蹊徑的東西,這可能是其他go語(yǔ)言書中不曾有的東西,但是就專業(yè)性來(lái)講,是不值得推薦讀的,書中存在一部分錯(cuò)誤,而且存在有部分內(nèi)容翻譯不準(zhǔn)確的情況,所以,我覺得這本書可以作為有一定go語(yǔ)言基礎(chǔ)的讀者消遣來(lái)用,可能會(huì)得到一些額外的收獲。同時(shí)如果有讀者想要通過(guò)GAE來(lái)搭建自己的go開發(fā)環(huán)境,開發(fā)運(yùn)行自己的代碼,那么這本書的第八章將會(huì)幫助你很多。
本書的是由幾個(gè)常見的有趣的場(chǎng)景開始的,在一開始便開始安利acme編輯器,編輯器的事情是仁者見仁,反正我用的goland,而且也足夠好用,便把它忽略了。在展示了一小段hello,world的語(yǔ)法后,自我復(fù)制是在講golang的一些定義,變量,常量,函數(shù)。猜數(shù)游戲其實(shí)是一個(gè)算法題目,作者拿出來(lái)恐怕是想展示for和if的使用,以及內(nèi)置二分搜索的sort包。圖靈機(jī)則是展示switch的用法。排版工具便有點(diǎn)意思了,因?yàn)樵谄綍r(shí)編程的時(shí)候,還真有可能遇到類似的需求,比如寫的md,要把它轉(zhuǎn)化成html或者pdf顯示出來(lái),這個(gè)時(shí)候我們便可以從這里的演示得到一點(diǎn)小小的提示,但我想作者目的在于展示golang的字符串處理能力。游樂場(chǎng)(奇怪的翻譯)則展示的是一個(gè)在線編譯的小東西,如果我們需要做一個(gè)在線編譯運(yùn)行的系統(tǒng),那么可以展示的代碼是具有參考性的,但是這里作者的本意是想展示golang的網(wǎng)絡(luò)編程,通過(guò)簡(jiǎn)單的幾句,就可以實(shí)現(xiàn)一個(gè)服務(wù)器。位錢(比特幣?)則是在展示實(shí)現(xiàn)比特幣加密的簡(jiǎn)單情況,其實(shí)是在展示golang的加密算法包。
第二章到第六章都在講一些無(wú)關(guān)緊要的東西,主要是golang的語(yǔ)法基礎(chǔ),比如運(yùn)算,類型,字符串,數(shù)組,切片,結(jié)構(gòu)體,指針,這些和c以及cpp都有很多類似的地方,golang的切片是上述二者不具備的,但是像cpp會(huì)有vector這種東西來(lái)代替,這一段的內(nèi)容基本上每本相關(guān)的語(yǔ)法書都會(huì)有提到。但是本書也會(huì)討論一些關(guān)于語(yǔ)法基礎(chǔ)之外的東西,比如二進(jìn)制,還有原碼,反碼,補(bǔ)碼這樣的可能需要在其他的專業(yè)書籍上了解的東西。第三章其實(shí)可以略過(guò),稍微有一點(diǎn)基礎(chǔ)的知識(shí)的可能就可以理解并掌握,對(duì)于if和for這種最常見的邏輯并不耗費(fèi)力氣。對(duì)于第四章,則是講函數(shù),函數(shù)的入口,初始化函數(shù),參數(shù),返回值(golang的雙多返回值),一些系統(tǒng)函數(shù)的額使用,延遲函數(shù),錯(cuò)誤處理和恢復(fù),這里翻譯的并不是很完備,延后函數(shù)被翻譯成壓后,錯(cuò)誤處理被法翻譯成派錯(cuò),如果是不了解的人可能會(huì)在這一部分有歧義。第五章則將了一些高級(jí)的東西,比如說(shuō)map,interface,還有斷言,分支,反射等一些需要了解的東西,這些是需要詳細(xì)閱讀的,它更多是在表述一些與語(yǔ)言相關(guān)的特性。第七章則是講并發(fā)編程,這可能是golang 的精髓了,golang對(duì)于并發(fā)的支持是優(yōu)雅的,本書會(huì)在講一些基本的內(nèi)容,比如阻塞,互斥和同步,這對(duì)于沒有了解過(guò)操作系統(tǒng)的人來(lái)說(shuō)絕對(duì)是一個(gè)新的內(nèi)容,但是它似乎又淺嘗輒止,并沒有花太多篇幅講清楚這些東西。后面的翻譯也是慘不忍睹,把協(xié)程翻譯成去程,把管道翻譯成程道,如果讀者不曾讀過(guò)其他golang的書籍,便會(huì)覺得十分奇怪。后面講如何實(shí)現(xiàn)同步也是太淺顯,建議讀者參考其他文獻(xiàn)來(lái)閱讀。
第八章和第九章有點(diǎn)像附帶的兩章,第八章主要講有關(guān)于GAE開發(fā)的一些步驟和常見的邏輯,第九章則是在講一些常用的系統(tǒng)包。第八章我并沒有詳細(xì)去讀,因?yàn)槲也]有在GAE上開發(fā)應(yīng)用,說(shuō)來(lái)是件嘲諷的事情,這本書以云動(dòng)力作為標(biāo)題,而我卻不關(guān)心這些問(wèn)題。這一章會(huì)涉及一些第三方接口(主要是google提供的接口)的使用,對(duì)于不關(guān)心這些的顯然是沒有意義的。第九章的講了一些常見的包,fmt包會(huì)提供一些格式化輸入輸出的方法。字節(jié)包則是將字符串分割成不同的字符所使用的。模板包是關(guān)于web開發(fā)使用的一些模板的包,把后臺(tái)數(shù)據(jù)渲染到前臺(tái)而使用的。正則匹配包則是與正則匹配相關(guān)的,我讀到這節(jié)時(shí),受到了其設(shè)計(jì)正則表達(dá)的一些啟發(fā)。時(shí)間包主要為了生成時(shí)間,對(duì)時(shí)間格式進(jìn)行過(guò)濾輸出,兩個(gè)時(shí)間相互比對(duì)。超鏈接包實(shí)際是網(wǎng)絡(luò)包,和網(wǎng)絡(luò)編程一些相關(guān)的方法會(huì)出現(xiàn)在這里,比如常見的http請(qǐng)求的方法,還有對(duì)加密https的使用,以及操作cookie等相關(guān)的內(nèi)容。編碼包則是和json一樣為了傳輸方面而設(shè)計(jì)的一種golang數(shù)據(jù)傳輸方式,用的不多,在效率上可能要比json好一些。
總體來(lái)講,這本書還是值得閱讀的,但是對(duì)于在翻譯中出現(xiàn)的錯(cuò)誤也是非常多的。所以我的建議是在看過(guò)一些教程和知識(shí)再來(lái)讀它,可能會(huì)收獲一些意想不到的東西,然后再此基礎(chǔ)上可以再去深挖。
總結(jié)
以上是生活随笔為你收集整理的[读书笔记][golang]《go语言-云动力》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 输卵管炎性粘连该怎么治疗
- 下一篇: [golang]nil slice和em