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