Go語言編程入門與實戰技巧 Go语言编程入门与实战技巧

黃靖鈞

  • 出版商: 電子工業出版社
  • 出版日期: 2018-09-01
  • 定價: $474
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 420
  • 裝訂: 平裝
  • ISBN: 7121349663
  • ISBN-13: 9787121349669
  • 相關分類: Go 程式語言

立即出貨

買這商品的人也買了...

相關活動主題

20181206 %e7%b0%a1%e9%ab%94%e6%9b%b8 s

商品描述

《Go語言編程入門與實戰技巧》從內容上分為三大部分,第一部分主要介紹Go語言的基礎知識,包括Go語言的安裝和開發工具,介紹了Go語言的特性與適合的場景,然後講解了Go語言的程序結構和數據類型,並針對函數和一些關鍵字的用法與數據類型的調用原理做了闡述。
第二部分介紹了Go語言數據結構和標準庫,結合實際應用場景探討了日常生產環境會遇到的問題與解決辦法。
第三部分主要介紹Go語言的測試工具和用法,並重點講解了Go語言的內存管理機制,深入理解Go語言的設計哲學,了解Go語言底層的內存管理和並發機制,為更進一步的學習打下堅實的基礎。
本書適合對計算機編程尤其是對Go語言編程感興趣的新手作為入門教程閱讀,還適合想在Web開發領域有所發展的程序員學習。

作者簡介

黃靖鈞:全棧開發者,長期以來一直使用Go語言開發網絡應用,在Go語言編程方面經驗豐富。
熱衷開源,深度參與Docker及其生態建設,積極為Potainer等眾多著名項目貢獻代碼。
曾任PaaS與CaaS等類型項目的後端Go開發,現從事基礎設施架構與數據中心開發工作,專注高並發、微服務領域的研究。
 

目錄大綱

第1章認識Go語言1 
1.1 Go語言簡介1 
1.1.1 Go語言簡史1 
1.1.2 Go語言特性2 
1.1.3誰適合使用Go語言2 
1.2 Go語言的開發環境部署3 
1.2.1 Go語言環境變量3 
1.2.2在Linux上安裝Go語言環境3 
1.2.3在Mac OS上安裝Go語言環境5 
1.2.4在Windows上安裝Go語言環境5 
1.3 Go語言的基本命令及使用5 
1.3.1 GOROOT結構6 
1.3.2 GOPATH結構7 
1.3.3 Go語言命令行參數8 
1.3.4第一個Go語言程序12 
1.4 Go語言的開發工具14 
1.4.1 Code/Atom 14 
1.4.2 VIM-Go 17 
1.4.3 Gogland 18 
1.4.4 LiteIDE 18 
1.4.5 Cloud IDE 19 
1.5本章小結23 

第2章程序結構24 
2.1 Go語言程序元素24 
2.1.1標識符24 
2.1.2關鍵字25 
2.1.3字面量25 
2.1.4分隔符25
2.1.5運算符26 
2.1.6註釋27 
2.2 Go語言基本概念28 
2.2.1常量28 
2.2.2變量32 
2.3本章小結37 

第3章基礎數據類型38 
3.1整型39 
3.1.1整型的表示39 
3.1.2整型的運算39 
3.2浮點型41 
3.2.1浮點型的表示41 
3.2.2浮點型的運算42 
3.2.3複數42 
3.3字符與字符串44 
3.3.1字符串的表示44 
3.3.2操作字符串46 
3.3.3字符串格式化60 
3.4布爾型61 
3.4.1布爾型的表示61 
3.4.2布爾型的運算62 
3.5基本數據類型的擴展63 
3.5.1強制類型轉換63 
3.5 .2自定義類型64 
3.5.3類型別名64 
3.5.4指針65 
3.6本章小結69 

第4章流程控制70 
4.1條件語句70 
4.1.1 if判斷71 
4.1.2 if-else判斷71 
4.1.3 else- if判斷73
4.1.4初始化子語句74 
4.2選擇語句75 
4.2.1 switch語句75 
4.2.2 switch初始化語句78 
4.2.3 select語句79 
4.3循環語句80 
4.3.1 for的子語句81 
4.3.2 range子語句82 
4.4延遲語句84 
4.5標籤87 
4.5.1 break 87 
4.5.2 continue 89 
4.5.3 goto 90 
4.6本章小結91 

第5章函數92 
5.1認識函數92 
5.1.1函數的聲明92 
5.1.2函數的參數93 
5.1. 3函數的返回值94 
5.2函數的基礎95 
5.2.1多返回值96 
5.2.2函數作為參數97 
5.2.3函數作為類型98 
5.2.4可變參數99 
5.2.5匿名函數與閉包102 
5.2. 6遞歸函數106 
5.2.7內置函數108 
5.3函數進階108 
5.3.1參數傳遞機制108 
5.3.2 defer與跟踪111 
5.3.3錯誤與恢復116
5.4本章小結122 

第6章複合數據類型123 
6.1數組123 
6.1.1聲明數組123 
6.1.2訪問與修改124 
6.1.3多維數組126 
6.1.4將數組傳遞給函數127 
6.2切片128 
6.2.1創建數組切片129 
6.2.2切片的使用131 
6.2.3多維切片137 
6.2.4將切片傳遞給函數137 
6.3映射138 
6.3.1映射的實現138 
6.3.2映射的創建139 
6.3.3映射的使用139 
6.3. 4將映射傳遞給函數141 
6.4本章小結142 

第7章包144 
7.1包的基礎144 
7.1.1包的結構146 
7.1.2包的導入147 
7.1.3包的使用153 
7.1.4 Go語言工具箱154 
7.2自定義包156 
7.2.1包的製作157 
7.2.2特定平台的代碼157 
7.2.3 godoc生成文檔158 
7.2.4包的打包與發布159 
7.2.5自定義包的導入164 
7.3本章小結165

第8章結構體與方法166 
8.1結構體166 
8.1.1結構體定義166 
8.1.2結構體使用172 
8.1.3帶標籤的結構體175 
8.1.4匿名字段和內嵌結構體176 
8.2類型系統179 
8.2.1用戶自定義類型179 
8.2.2值語義和引用語義182 
8.3方法184 
8.3.1方法聲明184 
8.3.2為類型添加方法187 
8.3.3工廠方法創建結構體188 
8.3.4基於指針對象的方法190 
8.3.5方法值和方法表達式191 
8.3.6方法和未導出字段193 
8.3.7嵌入類型的方法和繼承194 
8.4本章小結197 

第9章接口與反射198 
9.1接口198 
9.1.1接口是什麼199 
9.1.2接口類型與約定204 
9.1.3接口實現208 
9.1.4嵌套接口210 
9.1.5接口賦值211 
9.1.6接口查詢213 
9.1.7接口組合214 
9.2反射215 
9.2.1方法和類型的反射215 
9.2.2通過反射修改設置值216
9.2.3反射結構218 
9.2.4 Printf和反射220 
9.3本章小結222 

第10章並發編程223 
10.1並發編程基礎223 
10.1.1並發與並行223 
10.1.2指定使用核心數225 
10.2協程(goroutine) 227 
10.2.1協程基礎228 
10.2.2協程間通信229 
10.3通道(channel) 231 
10.3.1基本語法232 
10.3.2 select 232 
10.3.3緩衝機制233 
10.3.4超時和計時器234 
10.3.5 channel的傳遞235 
10.3.6單向channel 236 
10.3.7關閉channel 237 
10.4並發進階237 
10.4.1多核並行化237 
10.4.2協程同步239 
10.4.3協程和恢復242 
10.5本章小結243 

第11章網絡編程244 
11.1 Socket編程244 
11.1.1什麼是Socket 244 
11.1.2 Dial()函數246 
11.1.3 ICMP示例247
11.1.4 TCP Socket 249 
11.1.5 UDP Socket 253 
11.2 HTTP編程255 
11.2.1 HTTP客戶端255 
11.2.2 HTTP服務器端260 
11.3 RPC編程262 
11.3.1 Go RPC 263 
11.3.2 HTTP RPC 263 
11.3.3 TCP RPC 266 
11.3.4 JSON RPC 268 
11.3.5 RPC接口271 
11.4數據庫272 
11.4.1 database/sql接口272 
11.4.2使用MySQL數據庫277 
11.4.3使用SQLite數據庫280 
11.4.4使用PostgreSQL數據庫282 
11.4.5 NoSQL數據庫操作286 
11.5 Go語言使用Cookie 287 
11.5.1設置Cookie 287 
11.5.2讀取Cookie 288 
11.6本章小結288 

第12章I/O編程289 
12.1輸入/輸出289 
12.1.1 io:基本I/O接口289 
12.1.2 fmt:格式化I/O 292 
12.1.3文本處理298 
12.2文件系統298
12.2.1 os:系統功能實現298 
12.2.2 path:兼容路徑操作299 
12.3數據結構與算法303 
12.3.1排序304 
12.3.2 container 310 
12.4本章小結314 

第13章文件處理315 
13.1文件操作315 
13.1. 1創建文件與查看狀態316 
13.1.2重命名與移動319 
13.1.3打開與關閉319 
13.1.4刪除與截斷321 
13.1.5讀寫文件321 
13.1.6權限控制325 
13.1.7文件鏈接328 
13.2 XML處理330 
13.2.1解析XML 330 
13.2.2生成XML 333 
13.3 JSON處理336 
13.3.1解析JSON 336 
13.3.2生成JSON 338 
13.4日誌記錄340 
13.4.1 Logrus 341 
13.4.2 Seelog 342 
13.5壓縮343 
13.5.1打包與解包343 
13.5.2壓縮與解壓345 
13.6本章小結347

第14章安全與測試