關註公眾號【程式員書單】後回覆“book”即可領取30+精品免費電子書 Go 是一種簡單、小巧、令人愉悅的語言。它也有一些犄角旮旯,但絕大部分是經過精心設計的。它的學習速度令人難以置信,並且規避了其他語言中一些不那麼廣為人知的特性。 現如今越來越多的互聯網公司開始使用go語言,有的初創公司開始使 ...
關註公眾號【程式員書單】後回覆“book”即可領取30+精品免費電子書
Go 是一種簡單、小巧、令人愉悅的語言。它也有一些犄角旮旯,但絕大部分是經過精心設計的。它的學習速度令人難以置信,並且規避了其他語言中一些不那麼廣為人知的特性。
現如今越來越多的互聯網公司開始使用go語言,有的初創公司開始使用go語言打造基礎架構,而知乎這樣的公司也基本上踏上了go語言的路子,或許,未來的互聯網公司會越來越多地使用golang,那麼,你想學習一下這門未來的語言麽,今天就來推薦一份go語言書單吧。
go語言系列書單
Go語言核心編程
Go語言的核心語言特性包括:類型系統、介面、併發。這三部分是Go語言精華、優美、也是重要的特征,本書緊密圍繞這三個主題展開。以“類型系統”為例,Go語言中的類型有:簡單類型、複合類型、命名類型、未命名類型、靜態類型、動態類型、底層類型、介面類型、具體類型以及類型字面量等諸多概念,這些概念在其他Go類圖書裡面鮮有介紹,本書試圖幫助讀者梳理清楚這些類型的含義,建立概念,認清類型本質並學會正確使用;
在介面章節,不單介紹了介面概念和用法,還深入分析了介面的機制,使讀者對Go語言非侵入式的介面有更深入的理解;在併發編程章節,書中給出了5個併發編程範式,並用圖描述併發程式的模型,通俗易懂,這也是本書讀特點。
此外本書還拿出一整章內容介紹Go語言編程過程中可能遇到的陷阱,不僅告訴讀者陷阱是什麼,正確使用方式是什麼,同時也給出出現這種問題的根本原因,使讀者後續能夠避免犯同樣的錯誤。本書最後從哲學角度論述下Go語言的編程思想,相信Go語言愛好者一定可以從書中找到自己感興趣內容
作者介紹
李文塔,現就職於騰訊,FiT(前身為財付通)支付賬戶核心DBA,高級工程師。近十年金融系統開發、運維經驗,先後參與2016年到2018年微信春節紅包項目和支付賬戶核心多地多活容災項目。
Go語言高級編程
本書從實踐出發講解Go語言的進階知識。本書共6章,第1章簡單回顧Go語言的發展歷史;第2章和第3章系統地介紹CGO編程和Go彙編語言的用法;第4章對RPC和Protobuf技術進行深入介紹,並講述如何打造一個自己的RPC系統;第5章介紹工業級環境的Web系統的設計和相關技術;第6章介紹Go語言在分散式領域的一些編程技術。
書中還涉及CGO和彙編方面的知識,其中CGO能夠幫助讀者繼承的軟體遺產,而在深入學習Go運行時,彙編對於理解各種語法設計的底層實現是必不可少的知識。此外,本書還包含一些緊跟潮流的內容,介紹開源界流行的gRPC及其相關應用,講述Go Web框架中的基本實現原理和大型Web項目中的技術要點,引導讀者對Go語言進行更深入的應用。
本書適合對Go語言的應用已經有一些心得,並希望能夠深入理解底層實現原理或者是希望能夠在Web開發方面結合Go語言來實現進階學習的技術人員學習和參考。
作者簡介
柴樹杉,國內較早的一批Go語言愛好者,Go語言代碼貢獻者。對WebAssembly技術有一定研究,除本書外還著有《WebAssembly標準入門》一書。GitHub賬號為chai2010。
曹春暉,在Web 領域工作多年,開源愛好者。對大型網站系統的架構和相關工具的實現很感興趣,並且有一些研究成果。目前在滴滴平臺技術部工作。
Go Web編程
本書全面介紹使用Go語言開發Web應用所需的全部基本概念,並詳細講解如何運用現代設計原則使用Go語言構建Web應用。本書通過大量的實例介紹核心概念(如處理請求和發送響應、模板引擎和數據持久化),並深入討論更多高級主題(如併發、Web應用程式測試以及部署到標準系統伺服器和PaaS提供商)。
本書以一個網路論壇為例,講解如何使用請求處理器、多路復用器、模板引擎、存儲系統等核心組件構建一個Go Web應用,然後在這一應用的基礎上,構建出相應的Web服務。
值得一提的是,本書在介紹Go Web開發方法時,基本上只用到Go語言自帶的標準庫,而不會用到任何特定的Web框架,讀者學到的知識將不會局限於特定的框架,即使將來需要用到現成的框架或者自行構建框架,仍然會從本書中獲益。
本書除了講解具體的Web開發方法,還介紹如何對Go Web應用進行測試,如何使用Go的併發特性提高Web應用的性能,以及如何在Heroku、Google App Engine、Digital Ocean等雲平臺上部署Go Web應用;此外,書中還傳授一些Go Web開發方面的經驗和提示。這些重要的實踐知識將幫助讀者快速成為真正具有生產力的Go Web開發者。
閱讀本書需要讀者具備基本的Go語言編程技能並掌握Go語言的語法。本書適合所有想用Go語言進行Web開發的讀者閱讀,無論是Web開發的初學者還是入行已久的開發者都會在閱讀本書的過程中有所收穫。
作者簡介
作者簡介
Sau Sheong Chang 既是新加坡能源有限公司的數字技術總裁,也是Ruby 社區以及Go社區的活躍貢獻者,著有《Go Web編程》《R和Ruby數據分析之旅》等4 部著作。
譯者簡介
黃健巨集(huangz),一位1990年出生的電腦技術圖書作譯者,《Redis設計與實現》一書的作者,《Redis實戰》一書的譯者。除了已出版的兩本作品之外,他還創作和翻譯了《Go標準庫中文文檔》《Redis命令參考》《SICP解題集》等一系列開源文檔。要瞭解關於黃健巨集的更多信息,請訪問他的個人主頁http://huangz.me。
Go併發編程實戰
本書首先介紹了Go語言的優秀特性、安裝設置方法、工程結構、標準命令和工具、語法基礎、數據類型以及流程式控制制方法,接著闡述了與多進程編程和多線程編程有關的知識,然後重點介紹了goroutine、channel以及Go提供的傳統同步方法,最後通過一個完整實例——網路爬蟲框架進一步闡述Go語言的哲學和理念,同時分享作者在多年編程生涯中的一些見解和感悟。
與上一版相比,本書不僅基於Go 1.8對上一版進行了全面更新,而且更深入地描繪了Go運行時系統的內部機理,並且大幅改進了示例代碼。
本書適用於有一定電腦編程基礎的從業者以及對Go語言編程感興趣的愛好者,非常適合作為Go語言編程進階教程。
作者簡介
作者
郝林,從業12年有餘的軟體工匠,國內知名的Go語言技術佈道者,Go語言北京用戶組和GoHackers社群的發起人和組織者,多套免費線上Go語言教程的作者,深信Go語言在人工智慧時代和機器人時代也能大放異彩的科技信徒。