Go語言結合了底層系統語言的能力以及現代語言的高級特性,旨在降低構建簡單、、高效軟件的門檻。本書向讀者提供一個專注、且符合語言習慣的視角。Go語言實戰同時關注語言的規范和實現,涉及的內容包括語法、類型系統、并發、管道、測試,以及其他一些主題。
即便不處理類似可擴展的Web 并發或者實時性能等復雜的系統編程問題,應用程序開發也是一件非常困難的事情。盡管使用一些工具和框架也可以解決這些常見的問題,但Go 語言卻以一種更加自然且高效的方式正確處理了這類問題。由谷歌公司開發的Go 語言,為在基礎設施中非常依賴高性能服務的初創公司和大企業提供了足夠的能力。 Go語言實戰目標讀者是已經有一定其他編程語言經驗,想要開始學習Go 語言或者更深入了解Go 語言及其內部機制的中級開發者。本書會提供一個專注、且符合習慣的視角。本書關注Go 語言的規范和實現,涉及的內容包括語法、Go 的類型系統、并發、通道和測試等主題。 Go語言實戰 主要內容 ● Go語言規范和實現。 ● Go語言的類型系統。 ● Go語言的數據結構的內部實現。 ● 測試和基準測試。 Go語言實戰假設讀者是熟練使用其他語言(如Java、Ruby、Python、C# 或者C )的開發者。
William Kennedy是一位熟練的軟件開發者,也是博客GoingGo.Net的作者。 Brian Ketelsen和Erik St. Martin是全球Go語言大會GopherCon的組織者,也是Go語言框架Skynet的聯合作者。 譯者簡介 李兆海,多年專注于后端分布式網絡服務開發,曾使用過多個流行后端技術和相關架構實踐,是Go語言和Docker的早期使用者和推廣者,《第1本Docker書》的譯者。作為項目技術負責人,成功開發了百萬用戶級直播系統。
第1章關于Go語言的介紹1
1.1用Go解決現代編程難題2
1.1.1開發速度2
1.1.2并發3
1.1.3Go語言的類型系統5
1.1.4內存管理7
1.2你好,Go7
1.3小結8
第2章快速開始一個Go程序9
2.1程序架構9
2.2main包11
2.3search包13
2.3.1search.go13
2.3.2feed.go21
2.3.3match.go/default.go24
2.4RSS匹配器30
2.5小結36
第3章打包和工具鏈37
3.1包37
3.1.1包名慣例38
3.1.2main包38
3.2導入39
3.2.1遠程導入40
3.2.2命名導入40
3.3函數init41
3.4使用Go的工具42
3.5進一步介紹Go開發工具44
3.5.1go vet44
3.5.2Go代碼格式化45
3.5.3Go語言的文檔45
3.6與其他Go開發者合作48
3.7依賴管理48
3.7.1第三方依賴49
3.7.2對gb的介紹50
3.8小結52
第4章數組、切片和映射53
4.1數組的內部實現和基礎功能53
4.1.1內部實現53
4.1.2聲明和初始化54
4.1.3使用數組55
4.1.4多維數組58
4.1.5在函數間傳遞數組59
4.2切片的內部實現和基礎功能60
4.2.1內部實現60
4.2.2創建和初始化61
4.2.3使用切片63
4.2.4多維切片74
4.2.5在函數間傳遞切片75
4.3映射的內部實現和基礎功能76
4.3.1內部實現76
4.3.2創建和初始化78
4.3.3使用映射79
4.3.4在函數間傳遞映射81
4.4小結82
第5章Go語言的類型系統83
5.1用戶定義的類型83
5.2方法87
5.3類型的本質90
5.3.1內置類型91
5.3.2引用類型91
5.3.3結構類型93
5.4接口95
5.4.1標準庫96
5.4.2實現98
5.4.3方法集99
5.4.4多態103
5.5嵌入類型105
5.6公開或未公開的標識符113
5.7小結121
第6章并發122
6.1并發與并行122
6.2goroutine125
6.3競爭狀態132
6.4鎖住共享資源135
6.4.1原子函數135
6.4.2互斥鎖138
6.5通道140
6.5.1無緩沖的通道141
6.5.2有緩沖的通道146
6.6小結149
第7章并發模式150
7.1runner150
7.2pool158
7.3work168
7.4小結174
第8章標準庫176
8.1文檔與源代碼177
8.2記錄日志178
8.2.1log包179
8.2.2定制的日志記錄器182
8.2.3結論186
8.3編碼/解碼187
8.3.1解碼JSON187
8.3.2編碼JSON192
8.3.3結論193
8.4輸入和輸出193
8.4.1Writer和Reader接口194
8.4.2整合并完成工作195
8.4.3簡單的curl199
8.4.4結論200
8.5小結200
第9章測試和性能201
9.1單元測試201
9.1.1基礎單元測試202
9.1.2表組測試205
9.1.3模仿調用208
9.1.4測試服務端點212
9.2示例217
9.3基準測試220
9.4小結224
“探索、學習并使用Go 語言的簡潔而的指導手冊。” ——摘自Hugo 創立者Steven Francia為本書寫的序 “這本經典的書為所有想要開始學習Go 語言的人提供了一站式的指引。” ——Sam Zaydel,RackTop Systems “寫得太好了!完整介紹了Go語言。強烈推薦。” ——Adam McKay,SUEZ “這本書把Go 語言不尋常的部分講得通俗易懂。” ——Alex Vidal,Atlassian 的HipChat 團隊
OK ok
講解的比較詳細基礎,適合初學者學習
不錯很詳細
可以 正品 學習go語言的好素材 主要是實現原理都有講
很不錯,就是感覺薄了一些
基礎加實戰,入門經典
不錯,晚上買第二天早上就到了
先評論,留著慢慢看
書的質量很好,通俗易懂
還不錯,買吧買吧!
實戰系列,值得閱讀收藏
不錯。。。。。
學一學最近比較火的go語言
可以的。 還回來
送貨太慢,還是給好評
質好、排版不錯、包裝不錯、整體感覺很好、下次買書就來當當啦!
包裝,書本的質量挺好的。內容相對有些老舊,但不乏經典。此外內容不夠全面。
。臥槽,沒看懂,看來我要先學習基礎知識
我直接好評不行嗎,非要打字,最鄙視這種態度!!!
書內容不太適合初學者
入手,學一學比較有潛力的go語言
不錯的嗎不錯
實戰方面的我喜歡。
物流速度很快
很后悔買了,都不值,概念說得不清楚,例子代表性不強,翻譯也是一般,主要是太貴了,才220頁,虧死了
質感不錯.內容偏于go語言,語法。網絡編程偏少.
in action系列向來精簡卻能讀出很好的效果