| 書名: | Go程序設計語言(英文版) |
| 圖書定價: | 79元 |
| 圖書作者: | (美)艾倫 A. A. 多諾萬(Alan A. A. Donovan)(加)布萊恩 W. 柯尼漢(Brian W. Kernighan) |
| 齣版社: | 機械工業齣版社 |
| 齣版日期: | 2016/1/1 0:00:00 |
| ISBN號: | 9787111526285 |
| 開本: | 16開 |
| 頁數: | 366 |
| 版次: | 1-1 |
| 作者簡介 |
| 作者:(美)艾倫A.A.多諾萬 作者:布萊恩W.柯尼漢 艾倫A.A.多諾萬(Alarl A.A.Donovarl) 榖歌公司Go開發團隊成員。他擁有劍橋大學和麻省理工學院計算機科學學位,從1 996年開始就在工業界從事軟件研發和編程工作。2005年起,他開始在榖歌公司工作,從事基礎架構項目研發。是榖歌軟件構建工具Blaze的聯閤設計師。他還創建瞭用於Go程序靜態分析的許多庫和工具。包括oracle、godoc-analysis、eg和gorename布萊恩W.柯尼漢(Brian W.Kerrlighan) 普林斯頓大學計算機科學係教授。他是《C程序設計語言》的作者之一,與C語言的發明人Dennis Ritctlie共同閤作瞭這本書。1969~2000年期間,他是貝爾實驗室計算機科學研究中心技術團隊的成員,與LJNIX的創造者Kerl Thompsorl以及DenrIis Ritcl"Iie一起工作,同時他也是開發LJNIX的主要貢獻者。他是AWK和AMPt一編程語言的作者之一,AWK中的K說的就是Kerrdghan。他還是《程序設計實踐》的閤著者之一。 |
| 內容簡介 |
| 艾倫A.A.多諾萬、布萊恩W.柯尼漢*的《Go程序設計語言(英文版)》是所有想要學習Go語言的程序員的**學習資源和教程,旨在幫助你立刻開始使用Go,以及良好地掌握這門語言,並充分地利用Go語言的特性和標準庫來撰寫清晰的、符閤習慣用法的、高效的程序,以解決現實世界的問題。作者不要求讀者瞭解Go語言或已經具有任何具體程序語言的編程經驗。 所以無論你是用像C、C++或Java那樣的編譯型語言編過程序,還是有過像Pyttlon、RIJby或那樣的解釋型語言的編程經曆,都會覺得這本書易於理解和學習。 本書的組織結構 ·第1章介紹Go語言的基礎概念,通過十幾個完成日常任務(包括讀寫文件、格式化文本、創建圖像。以及在Internet客戶端和服務器之間通信)的程序來介紹這門語言。 ·開始的幾章覆蓋Go程序的組成元素(語法、控製流、數據類型),以及程序的組織(包、文件和函數)。後麵的幾章詳細解釋瞭包機製,以及如何高效地利用go工具來構建、測試和維護項目。 ·關於方法和接口的兩章(第6章和第7章)介紹Go以一種不同尋常的方式來詮釋麵嚮對象程序設計,其中方法可以關聯到任何用戶自定義的類型,而具體類型和抽象類型(即接口)之間的關係是隱式的,具體類型可能會滿足一個該類型設計者沒有意識到其存在的接口。書中用實際例子來解釋封裝、組閤、可替代性。 ·關於並發的兩章(第8章和第9章)深入討論這個日益重要的主題。第8章介紹gorouti rle和信道的基本機製,說明瞭被稱為CSP(Communicating SeqL~ential Process)的模型。第9章討論瞭並發性中較傳統的方麵,使用共享變量來實現並發。這兩章內容為程序員首次遇到並發問題打下堅實基礎。 ·*後兩章研討Go的低級特性。第12章講解使用反射的元編程的藝術。第13章展示瞭如何運用unsafe包來繞過Go的類型係統,以及如何使用cgo工具來調用C代碼。 本書代碼編寫規範,配有數百個有用實例,涵蓋整個Go語言及其*重要的包和廣泛的應用。每章都附有一定數量的練習,可以用來測試讀者對Go的理解,或是探索對書中示例的擴展和變形。源代碼可以從位於http://gopl.io/的公開Git倉庫下載,並且能夠方便地使用go get命令獲取、構建和安裝。 |
| 目錄 |
| 第1章 綜述 1.1 Hello,World 1.2 命令行參數 1.3 查找重復行 1.4 GIF動畫 1.5 獲取一個URL 1.6 並發獲取多個URL 1.7 實現一個Web服務器 1.8 雜項 第2章 程序結構 2.1 名字 2.2 聲明 2.3 變量 2.4 賦值 2.5 類型聲明 2.6 包和文件 2.7 作用域 第3章 基本數據類型 3.1 整數 3.2 浮點數 3.3 復數 3.4 布爾量 3.5 字符串 3.6 常量 第4章 復閤類型 4.1 數組 4.2 切片 4.3 鍵值對 4.4 結構體 4.5 JSON 4.6 文本和HTML模闆 第5章 函數 5.1 函數聲明 5.2 遞歸 5.3 多返迴值 5.4 錯誤 5.5 作為值的函數 5.6 匿名函數 5.7 變參函數 5.8 延後函數調用 5.9 崩潰 5.10 恢復 第6章 方法 6.1 方法聲明 6.2 帶有指針接收器的方法 6.3 包含嵌入結構體的復閤類型 6.4 作為值和錶達式的方法 6.5 示例:位嚮量類型 6.6 封裝 第7章 接口 7.1 作為規約的接口 7.2 接口類型 7.3 接口約定的達成 7.4 使用flag.Value進行標誌位分析 7.5 作為值的接口 181 7.6 使用sort.Interface進行排序 7.7 http.Handler接口 7.8 錯誤接口 7.9 示例:錶達式評估器 7.10 類型斷言 7.11 使用類型斷言分辨錯誤 7.12 使用接口類型斷言查詢行為 7.13 按類型的程序分支 7.14 示例:基於標記符號的XML解碼 7.15 幾句建議 第8章 goroutine和信道 8.1 goroutine 8.2 示例:並發時鍾服務器 8.3 示例:並發迴聲服務器 8.4 信道 8.5 並行循環 8.6 示例:並發Web爬蟲 8.7 使用select實現多工 8.8 示例:並發目錄遍曆 8.9 取消執行 8.10 示例:聊天服務器 第9章 使用共享變量實現並發 9.1 競險 9.2 互斥量:sync.Mutex 9.3 讀寫互斥量:sync.RWMutex 9.4 內存同步 9.5 緩式初始化:sync.Once 9.6 競險檢測器 9.7 示例:並發無阻塞式高速緩存 9.8 goroutine和綫程 第10章 包和go工具 10.1 概述 10.2 導入路徑 10.3 包聲明 10.4 導入聲明 10.5 空導入 10.6 包和命名 10.7 go工具 第11章 測試 11.1 go test工具 11.2 測試函數 11.3 覆蓋率 11.4 性能基準函數 11.5 性能剖析 11.6 示例函數 第12章 反射 12.1 為什麼會引入反射概念 12.2 reflect.Type和reflect.Value 12.3 遞歸值輸齣Display 12.4 示例:對S-錶達式編碼 12.5 使用reflect.Value給變量設置值 12.6 示例:對S-錶達式解碼 12.7 訪問結構體域標簽 12.8 列齣類型的方法 12.9 幾句忠告 第13章 低階程序設計 13.1 unsafe.Sizeof、Alignof和Offsetof 13.2 unsafe.Pointer 13.3 示例:深等價 13.4 使用cgo調用C代碼 13.5 再來幾句忠告 |
| 編輯推薦 |
| 《Go程序設計語言(英文版)》結構:第1章介紹Go語言的基礎概念,通過十幾個完成日常任務(包括讀寫文件、格式化文本、創建圖像,以及在Internet客戶端和服務器之間通信)的程序來介紹這門語言。開始的幾章覆蓋Go程序的組成元素(語法、控製流、數據類型),以及程序的組織(包、文件和函數)。後麵的幾章詳細解釋瞭包機製,以及如何高效地利用go工具來構建、測試和維護項目。關於方法和接口的兩章(第6章和第7章)介紹Go以一種不同尋常的方式來詮釋麵嚮對象程序設計,其中方法可以關聯到任何用戶自定義的類型,而具體類型和抽象類型(即接口)之間的關係是隱式的,具體類型可能會滿足一個該類型設計者沒有意識到其存在的接口。書中用實際例子來解釋封裝、組閤、可替代性。關於並發的兩章(第8章和第9章)深入討論這個日益重要的主題。第8章介紹goroutine和信道的基本機製,說明瞭被稱為CSP(Communicating Sequential Process)的模型。第9章討論瞭並發性中較傳統的方麵,使用共享變量來實現並發。這兩章內容為程序員首次遇到並發問題打下堅實基礎。最後兩章研討Go的低級特性。第12章講解使用反射的元編程的藝術。第13章展示瞭如何運用unsafe包來繞過Go的類型係統,以及如何使用cgo工具來調用C代碼。 |
說實話,我之前接觸過不少編程書籍,有些讀起來讓人頭昏腦漲,有些則顯得過於淺顯。這本書給我帶來的感受卻是“恰到好處”。它在深度和廣度上找到瞭一個很好的平衡點。它沒有迴避 Go 語言的底層細節,比如內存模型或者垃圾迴收的機製,但又不是那種讓你需要具備計算機體係結構博士學位的纔能看懂的晦澀內容。作者通過生動的比喻和精心設計的圖示,將這些復雜的概念變得相對容易理解。我特彆喜歡書中對於錯誤處理的講解,這在實際開發中是一個非常重要但也容易被忽視的環節,而這本書給瞭我全新的視角。此外,書中對於標準庫的介紹也相當詳盡,這對於我快速上手 Go 的開發非常有幫助。我感覺,這本書能夠幫助我從一個“知道 Go 怎麼寫”的初學者,快速成長為一個“理解 Go 為什麼這樣設計”的進階者。
評分我一直認為,一本優秀的編程語言書籍,不僅僅是技術的講解,更是一種思想的傳達。這本書給我的感覺就是這樣。從試讀的部分,我能感受到作者不僅僅是在教你 Go 的語法,更是在傳遞一種“Go Way”的思考方式。他強調的簡潔、高效、並發,這些理念貫穿在代碼示例和概念闡述之中。特彆是那些針對常見編程誤區的分析,非常有價值。很多時候,我們學習一門語言,容易陷入“知其然不知其所以然”的境地,而這本書似乎能夠幫助我們深入理解“為什麼”要這麼設計,以及這種設計帶來的好處。我尤其喜歡書中那些貼近實際應用場景的例子,它們不像教科書上那樣枯燥抽象,而是能夠立刻引發我的共鳴,讓我看到 Go 語言在解決實際問題上的強大能力。這種“學以緻用”的教學方式,對於我這樣渴望將技術轉化為生産力的開發者來說,實在是太寶貴瞭。
評分對於這本書,我最直觀的感受就是它的“實用性”。很多技術書籍雖然內容詳實,但脫離瞭實際應用場景,讀起來總是感覺隔靴搔癢。這本書在這方麵做得非常齣色。作者在講解每一個概念時,都會結閤實際的應用場景,並給齣相應的代碼示例。這些代碼示例不僅簡潔明瞭,而且可以直接拿來運行和參考,這對於我這種喜歡動手實踐的讀者來說,無疑是一大福音。特彆是書中關於網絡編程和 Web 開發的章節,我感覺能夠幫助我快速構建齣高性能的 Go 應用。我尤其期待書中關於並發安全性的討論,因為這在分布式係統中是一個至關重要的問題。這本書的齣現,讓我感覺終於找到瞭一本能夠真正指導我進行 Go 開發的書籍,而不是僅僅停留在理論層麵。
評分我是一個對語言的“哲學”比較看重的讀者,所以我特彆看重一本書能否傳達齣這門語言的設計理念。從這本書的試讀章節來看,作者在這方麵做得非常到位。他沒有簡單地堆砌 Go 的語法特性,而是深入淺齣地闡述瞭 Go 語言的設計初衷和核心價值。例如,書中對“簡潔”、“高效”以及“擁抱並發”這些 Go 語言的核心理念的解讀,讓我對這門語言有瞭更深層次的理解。我喜歡這種能夠“觸類旁通”的學習方式,它不僅僅是掌握一項技術,更是理解一種新的編程思維。這本書的行文流暢,結構清晰,即使是初學者也能輕鬆跟上作者的思路。我感覺,通過閱讀這本書,我不僅僅能學會 Go 語言的編寫,更能理解為什麼 Go 語言會受到這麼多開發者的青睞,並從中獲得啓發,提升自己的編程素養。
評分這本書的封麵設計就給我一種踏實可靠的感覺,不像市麵上很多技術書籍那樣花裏鬍哨。拿到手裏沉甸甸的,就知道裏麵內容肯定很充實。雖然我還沒來得及深入閱讀,但翻閱瞭一下目錄和前幾章,就感覺作者的寫作風格非常清晰,邏輯性很強。他不是那種上來就堆砌概念的作者,而是循序漸進地引導讀者理解 Go 語言的精髓。特彆是關於並發的部分,我之前對這塊一直有點模糊,但從書中的一些初步介紹來看,作者似乎用非常易懂的方式將 Goroutine 和 Channel 的概念講明白瞭,這讓我對接下來的學習充滿瞭期待。我尤其看重那些能幫助我建立起紮實基礎的內容,而不是僅僅停留在 API 的羅列。這本書給我的第一印象就是,它有潛力成為我 Go 學習旅程中的一座堅實橋梁,幫助我跨越那些看似復雜的概念,真正掌握這門語言的核心。我迫不及待地想深入其中,感受它帶來的思維衝擊和技術啓迪。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有