go語言簡介
Go語言是由谷歌公司在2007年開始開發(fā)的一門語言,目的是能在多核心時代高效編寫網(wǎng)絡(luò)應(yīng)用程序。Go語言的創(chuàng)始人 Robert Griesemer、Rob Pike 和 Ken Thompson 都是在計算機(jī)發(fā)展過程中作出過重要貢獻(xiàn)的人。自從 2009 年 11 月正式公開發(fā)布后,Go語言迅速席卷了整個互聯(lián)網(wǎng)后端開發(fā)領(lǐng)域,其社區(qū)里不斷涌現(xiàn)出類似 vitess、Docker、etcd、Consul 等重量級的開源項目。go語言實戰(zhàn)是國 Go社區(qū)多年經(jīng)驗積累的成果。本書默認(rèn)讀者已經(jīng)具有一定的編程基礎(chǔ),希望更好地使用 Go 語言。全書以示例為基礎(chǔ),詳細(xì)介紹了 Go 語言中的一些比較深入的話題。對于有經(jīng)驗的程序員來說,很容易通過學(xué)習(xí)書中的例子來解決自己實際工作中遇到的問題。輔以文字介紹,讀者會對相關(guān)問題有更系統(tǒng)的了解和認(rèn)識。翻譯過程中我盡量保持了原書的敘述方法,并加強(qiáng)了敘述邏輯,希望讀者會覺得清晰易讀。
go語言實戰(zhàn)章節(jié)速覽
本書由9章組成,每章內(nèi)容簡要描述如下。第 1 章快速介紹這門語言是什么,為什么要創(chuàng)造這門語言,以及這門語言要解決什么問題。這一章還會簡要介紹一些 Go 語言的核心概念,如幵發(fā)。
第 2 章引導(dǎo)你完成一個完整的 Go 程序,幵教你作為 Go 作為一門語言必須提供的特性。
第 3 章介紹打包的概念,以及搭建 Go 工作空間和開發(fā)環(huán)境的最佳實踐。這一章還會展示如何使用 Go 語言的工具鏈,包括獲取和構(gòu)建代碼。
第 4 章展示 Go 語言內(nèi)置的類型,即數(shù)組、切片和映射。還會解釋這些數(shù)據(jù)結(jié)構(gòu)背后的實現(xiàn)和機(jī)制。
第 5 章詳細(xì)介紹 Go 語言的類型系統(tǒng),從結(jié)構(gòu)體類型到具名類型,再到接口和類型嵌套。這一章還會展示如何綜合利用這些數(shù)據(jù)結(jié)構(gòu),用簡單的斱法來構(gòu)建和編寫復(fù)雜的程序。
第 6 章深入展示 Go 調(diào)度器、幵發(fā)和管道是如何工作的。這一章還將介紹這個斱面背后的機(jī)制。
第 7 章基于第 6 章的內(nèi)容,展示一些實際開發(fā)中用到的幵發(fā)模式。你會學(xué)到為了控制任務(wù)如何實現(xiàn)一個 goroutine 池,以及如何利用池來復(fù)用資源。
第 8 章對標(biāo)準(zhǔn)庫迚行探索,深入介紹 3 個包,即 log、json 和 io。這一章專門介紹這3 個包之間的某些復(fù)雜關(guān)系。
第 9 章以如何利用測試和基準(zhǔn)測試框架來結(jié)束全書。讀者會學(xué)到如何寫單元測試、表組測試以及基準(zhǔn)測試,如何在文檔中增加示例,以及如何把這些示例當(dāng)作測試使用。
go語言實戰(zhàn)目錄介紹
第1章 關(guān)于Go語言的介紹 1 1.1 用Go解決現(xiàn)代編程難題 2 1.1.1 開發(fā)速度 2 1.1.2 并發(fā) 3 1.1.3 Go語言的類型系統(tǒng) 5 1.1.4 內(nèi)存管理 7 1.2 你好,Go 7 1.3 小結(jié) 8 第2章 快速開始一個Go程序 9 2.1 程序架構(gòu) 9 2.2 main包 11 2.3 search包 13 2.3.1 search.go 13 2.3.2 feed.go 21 2.3.3 match.go default.go 24 2.4 RSS匹配器 302.5 小結(jié) 36 第3章 打包和工具鏈 37 3.1 包 37 3.1.1 包名慣例 38 3.1.2 main包 38 3.2 導(dǎo)入 39 3.2.1 遠(yuǎn)程導(dǎo)入 40 3.2.2 命名導(dǎo)入 40 3.3 函數(shù)init 41 3.4 使用Go的工具 42 3.5 進(jìn)一步介紹Go開發(fā)工具 44 3.5.1 go vet 44 3.5.2 Go代碼格式化 45 3.5.3 Go語言的文檔 45 3.6 與其他Go開發(fā)者合作 48 3.7 依賴管理 48 3.7.1 第三方依賴 49 3.7.2 對gb的介紹 50 3.8 小結(jié) 52 第4章 數(shù)組、切片和映射 53 4.1 數(shù)組的內(nèi)部實現(xiàn)和基礎(chǔ)功能 53 4.1.1 內(nèi)部實現(xiàn) 53 4.1.2 聲明和初始化 54 4.1.3 使用數(shù)組 55 4.1.4 多維數(shù)組 58 4.1.5 在函數(shù)間傳遞數(shù)組 59 4.2 切片的內(nèi)部實現(xiàn)和基礎(chǔ)功能 60 4.2.1 內(nèi)部實現(xiàn) 60 4.2.2 創(chuàng)建和初始化 61 4.2.3 使用切片 63 4.2.4 多維切片 74 4.2.5 在函數(shù)間傳遞切片 75 4.3 映射的內(nèi)部實現(xiàn)和基礎(chǔ)功能 76 4.3.1 內(nèi)部實現(xiàn) 76 4.3.2 創(chuàng)建和初始化 78 4.3.3 使用映射 79 4.3.4 在函數(shù)間傳遞映射 81 4.4 小結(jié) 82 第5章 Go語言的類型系統(tǒng) 83 5.1 用戶定義的類型 83 5.2 方法 87 5.3 類型的本質(zhì) 90 5.3.1 內(nèi)置類型 91 5.3.2 引用類型 91 5.3.3 結(jié)構(gòu)類型 93 5.4 接口 95 5.4.1 標(biāo)準(zhǔn)庫 96 5.4.2 實現(xiàn) 98 5.4.3 方法集 99 5.4.4 多態(tài) 103 5.5 嵌入類型 105 5.6 公開或未公開的標(biāo)識符 113 5.7 小結(jié) 121 第6章 并發(fā) 122 6.1 并發(fā)與并行 122 6.2 goroutine 125 6.3 競爭狀態(tài) 132 6.4 鎖住共享資源 135 6.4.1 原子函數(shù) 135 6.4.2 互斥鎖 138 6.5 通道 140 6.5.1 無緩沖的通道 141 6.5.2 有緩沖的通道 146 6.6 小結(jié) 149 第7章 并發(fā)模式 150 7.1 runner 150 7.2 pool 158 7.3 work 168 7.4 小結(jié) 174 第8章 標(biāo)準(zhǔn)庫 176 8.1 文檔與源代碼 177 8.2 記錄日志 178 8.2.1 log包 179 8.2.2 定制的日志記錄器 182 8.2.3 結(jié)論 186 8.3 編碼 解碼 187 8.3.1 解碼JSON 187 8.3.2 編碼JSON 192 8.3.3 結(jié)論 193 8.4 輸入和輸出 193 8.4.1 Writer和Reader接口 194 8.4.2 整合并完成工作 195 8.4.3 簡單的curl 199 8.4.4 結(jié)論 200 8.5 小結(jié) 200 第9章 測試和性能 201 9.1 單元測試 201 9.1.1 基礎(chǔ)單元測試 202 9.1.2 表組測試 205 9.1.3 模仿調(diào)用 208 9.1.4 測試服務(wù)端點 212 9.2 示例 217 9.3 基準(zhǔn)測試 220 9.4 小結(jié) 224
使用方法
1、下載并解壓,得出pdf文件2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
開源閱讀電腦版 v3.25.04150011.54M / 簡體中文
有柿電腦版 v11.8.9121.22M / 簡體中文
cnki全球?qū)W術(shù)快報電腦版 v1.0.4104.49M / 簡體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡體中文
京東讀書電腦版 v1.13.4官方版2.13M / 簡體中文
數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
Scala程序設(shè)計第二版 pdf高清完整版15.83M / 簡體中文
C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文