新到貨2本75折
深入學習Go語言

深入學習Go語言

  • 定價:414
  • 優惠價:87360
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

Go語言適合用來進行伺服器程式設計與網路程式設計,包括Web應用程式設計等。本書詳細講解了Go語言資料類型、關鍵字、字面量、基本語法等基礎概念及Go專案的工程構建、測試、編譯與運行等;深入講解了協程(goroutine)和通道(channel)等與併發程式設計有關的概念;還介紹了系統標準庫、網路程式設計和三方包。讀者掌握本書內容後,可以順利進行實際專案開發。

本書適合Go語言初學者和有一定經驗的程式師閱讀。
 
 

目錄

1章  Go語言簡介1
1.1  為什麼要學Go語言1
1.2  Go語言安裝1
1.3  Go語言開發工具4

2章  Go語言程式設計基礎6
2.1  資料類型6
2.2  變數9
2.3  常量14
2.4  運算子18
2.5  字串22
2.6  流程控制26

3章  作用域37
3.1  關於作用域37
3.2  約定和慣例40

4章  代碼結構化與專案管理43
4.1  包(package)43
4.2  Go專案開發與編譯46

5章  複合資料類型54
5.1  陣列(array)54
5.2  切片(slice)56
5.3  字典(map)60

6章  type關鍵字63
6.1  type自訂類型63
6.2  type定義類型別名64

7章  錯誤處理與defer66
7.1  錯誤處理66
7.2  關於defer68

8章  函數74
8.1  函數(function)74

9章  結構體和介面86
9.1  結構體(struct)86
9.2  介面(interface)94

10章  方法101
10.1  方法的定義101
10.2  指針方法與值方法108
值方法111
10.3  匿名類型的方法提升114

11章  物件導向與記憶體118
11.1  物件導向118
11.2  指標和記憶體119

12章  併發處理124
12.1  協程124
12.2  通道(channel)127
12.3  同步與鎖131

13章  測試與調優140
13.1  測試140
13.2  調優142

14章  系統標準庫148
14.1  reflect包148
14.2  unsafe包155
14.3  sort包160
14.4  os包164
14.5  fmt包167
14.6  flag 包174
14.7  檔操作與I/O177

15章  網路服務186
15.1  Socket186
15.2  範本(Template)189
15.3  net/http包196
15.4  context包214

16章  資料格式與存儲221
16.1  資料格式221
結構體222
16.2  MySQL資料庫231
16.3  LevelDB與BoltDB 資料庫236

17章  網路爬蟲244
17.1  Colly網路爬蟲框架244
17.2  goquery HTML解析246

18章  Web框架—Gin250
18.1  關於Gin250
18.2  Gin實際應用251

參考文獻260
 
 
 

現在市面上與Go語言相關的書籍較少,大部分書籍針對的是中高級開發人員,而從基礎知識講解,進而到初步應用開發的指導性書籍更少。

針對以上情況,本書詳細講解了Go語言基礎知識點,並聯繫實際指出其可能存在的陷阱,幫助讀者加深學習時的理解。本書還結合流行度較高的開源協力廠商包,引導讀者進行更高級的實際專案開發。

本書非常適合Go語言新手細細閱讀。有一定經驗的開發人員,也可以根據自己的情況,選擇一些章節來看。

第1~4章為基礎部分,主要講解Go語言的基礎知識,包括Go語言的安裝、基本語法、識別字、關鍵字、運算子、標點符號、字面量等,以及Go專案的工程構建、編譯與運行等。

第5~8章為中級部分,主要講解Go語言的複合資料類型,包括陣列(array)、切片(slice)、字典(map)、結構體(struct)、指標(pointer)、函數(function)、介面(interface)和通道(channel)類型等。利用靈活的type關鍵字,可以自訂各種需要的資料類型。函數提供了更直接的資料處理能力,而通過panic,recover,defer處理錯誤的方式,也是Go語言的典型特徵。

第9~13章為高級部分,主要講解結構體、介面和方法,它們是Go語言簡單與組合思維的基礎。非常友好地支援併發是Go語言天然具有的典型特徵,協程(gorountine)和通道(channel)配合,加上sync包提供的系列功能,使我們可以很方便地編寫支持高併發的代碼。

第14~16章為拓展部分,主要介紹Go語言提供的官方標準庫,包括OS操作、檔I/O、網路傳輸處理、指標相關操作、代碼反射、日誌記錄等。這些包可以讓我們快速進入實際開發。另外對MySQL資料庫以及LevelDB、BoltDB資料庫的操作有簡單介紹。

第17、18章為應用部分,主要以網路爬蟲和Web框架為例,進入實際開發。網路爬蟲是互聯網服務中比較重要的功能,通過互聯網抓取、分析、保存資料是程式師的一項基本能力,讀者可以看到Go語言在此方面也是遊刃有餘。而利用Gin這款羽量級的Web框架,可以很方便地搭建各種Web服務。

自2009年Go語言面世以來,已經有越來越多的公司轉向Go語言開發。而Go語言以語法簡單、學習門檻低、上手快著稱,但入門後很多人發現要寫出地道的、遵循Go語言思維的代碼卻實屬不易。

我作為Go語言的愛好者,在閱讀系統標準庫原始程式碼或其他知名開源包原始程式碼時,發現大牛對這門語言的瞭解之深入,代碼實現之巧妙優美,除了膜拜還是膜拜。所以我建議你有時間多多閱讀這些代碼,網上說Go大神的標準是“能理解簡潔和可組合性哲學”。的確,Go語言追求代碼簡潔到極致,而組合思想可謂借助於結構體和介面而成為Go的靈魂。

function、method、interface、type等名詞是程式師們接觸比較多的關鍵字,但在Go語言中,你會發現,它們有更強大、更靈活的用法。當你徹底理解了Go語言相關基本概念,以及對其特點有了深入的認知(當然這也是這本書的目的),再假以時日多練習和實踐,我相信你很快就能真正掌握這門語言,成為一名出色的Gopher。

本書最早通過網路發佈,有不少關注Go語言的朋友通過各種途徑給了不少建議,這裡要感謝網友Joyboo、林遠鵬、Mr_RSI、magic-joker等。

本書最終得以出版,需要感謝李岩兄的鼓勵和幫助,以及其他各位朋友和老師們,感謝你們的鼓勵和幫助,感謝你們的支持!

最後,希望更多的人瞭解和使用Go語言,也希望閱讀本書的朋友們多多交流。雖然本書中的例子都經過實際運行,但難免會有錯誤和不足之處,煩請您指出。書中其他疏漏之處也懇請各位讀者斧正。作者聯繫郵箱:roteman@163.com。
祝各位Gopher工作開心,編碼愉快!

李曉鈞
 

詳細資料

  • ISBN:9787111630722
  • 規格:平裝 / 259頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 以學術為錨,定位深度思考邏輯。文學│史地│社科 精選3本72折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 888現折88
  • 分寸與好運
  • 終結氣候危機