Go 語言從入門到項目實踐 (超值版)

餘建熙

  • 出版商: 清華大學
  • 出版日期: 2022-07-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • ISBN: 7302603278
  • ISBN-13: 9787302603276
  • 相關分類: Go 程式語言程式語言
  • 立即出貨

  • Go 語言從入門到項目實踐 (超值版)-preview-1
  • Go 語言從入門到項目實踐 (超值版)-preview-2
  • Go 語言從入門到項目實踐 (超值版)-preview-3
Go 語言從入門到項目實踐 (超值版)-preview-1

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

商品描述

《Go語言從入門到項目實踐:超值版》採取“基礎知識→核心應用→高級應用→項目實踐”的結構和“由淺入深,由深到精”的學習模式進行講解。全書共14章,首先,講解了Go語言開發環境的搭建及開發工具的使用、程序元素的構成、基本數據類型、流程控制語句等基礎知識;接著,深入介紹了復合數據類型、Go語言函數、結構體與方法等核心應用技術;然後詳細探討了Go語言接口的實現、Go語言的並發、反射機制及包等高級應用;最後,在實踐環節,通過對網絡編程、Go語言的文件處理、編譯與工具等內容的講解,讓讀者掌握在實際操作中對Go語言的網絡編程的處理,同時學會應對出現錯誤問題的方法。 《Go語言從入門到項目實踐:超值版》從多角度、全方位竭力幫助讀者快速掌握軟件開發技能,構建從高校到社會的就職橋梁,讓有志於從事軟件開發行業的讀者輕松步入職場。 《Go語言從入門到項目實踐:超值版》適合學習項目編程的初、中級程序員和希望精通Go語言開發技術的程序員閱讀,同時還可供大中專院校和社會培訓機構的師生及正在進行軟件專業相關畢業設計的學生閱讀。

目錄大綱

目錄

 

 

第1篇  基礎知識

第1章  走進Go語言的世界

1.1  初識Go語言

1.1.1  Go語言的誕生

1.1.2  Go語言的特性

1.1.3  Go語言的使用

1.2  部署Go語言的開發環境

1.2.1  Go語言的環境變量

1.2.2  在Windows上安裝Go語言環境

1.2.3  在Linux上安裝Go語言環境

1.2.4  在Mac OS上安裝Go語言環境

1.3  Go語言開發工具的使用

1.3.1  LiteIDE

1.3.2  Gogland

1.3.3  Visual Studio Code

1.4  Go語言的目錄結構

1.4.1  GOROOT結構

1.4.2  GOPATH結構

1.5  第一個Go語言程序

1.6  就業面試技巧與解析

1.6.1  面試技巧與解析(一)

1.6.2  面試技巧與解析(二)

第2章  Go語言程序元素的構成

2.1  詞法單元

2.1.1  標識符

2.1.2  關鍵字

2.1.3  字面量

2.1.4  分隔符

2.1.5  運算符

2.1.6  註釋

2.2  常量

2.2.1  常量的定義

2.2.2  常量的聲明

2.2.3  轉義字符

2.2.4  賦值

2.2.5  枚舉

2.3  變量

2.3.1  變量的聲明

2.3.2  初始化變量

2.3.3  多個變量同時賦值

2.3.4  匿名變量

2.3.5  變量的作用域

2.4  就業面試技巧與解析

2.4.1  面試技巧與解析(一)

2.4.2  面試技巧與解析(二)

第3章  基本數據類型

3.1  整型

3.1.1  整型的類型與聲明

3.1.2  整型的運算

3.2  浮點型

3.3  字符與字符串

3.3.1  字符串的表示

3.3.2  操作字符串

3.3.3  字符串格式化

3.4  布爾型

3.4.1  布爾型的表示

3.4.2  布爾型的運算

3.5  數據類型的轉換

3.6  指針

3.6.1  指針地址和指針類型

3.6.2  指針的創建

3.6.3  從指針獲取指向指針的值

3.6.4  使用指針修改值

3.7  類型別名

3.7.1  類型別名與類型定義

3.7.2  非本地類型不能定義方法

3.7.3  在結構體成員嵌入時使用別名

3.8  就業面試技巧與解析

3.8.1  面試技巧與解析(一)

3.8.2  面試技巧與解析(二)

第4章  流程控制

4.1  條件判斷

4.1.1  if語句

4.1.2  if-else語句

4.1.3  else-if語句

4.1.4  使用if語句的註意事項

4.2  選擇結構

4.2.1  switch語句

4.2.2  select語句

4.3  循環結構

4.3.1  for語句

4.3.2  range語句

4.4  defer語句

4.5  標簽

4.5.1  break語句

4.5.2  continue語句

4.5.3  goto語句

4.6  就業面試技巧與解析

4.6.1  面試技巧與解析(一)

4.6.2  面試技巧與解析(二)

 

第2篇  核心應用

第5章  復合數據類型

5.1  數組

5.1.1  數組的聲明

5.1.2  數組的初始化

5.1.3  數組的遍歷

5.1.4  多維數組

5.2  切片

5.2.1  創建切片

5.2.2  使用append()函數添加元素

5.2.3  切片的復制

5.2.4  切片的刪除

5.3  映射

5.3.1  創建映射

5.3.2  映射的遍歷

5.3.3  map元素的刪除和清空

5.4  列表

5.4.1  初始化列表

5.4.2  在列表中插入元素

5.4.3  從列表中刪除元素

5.4.4  列表的遍歷

5.5  就業面試技巧與解析

5.5.1  面試技巧與解析(一)

5.5.2  面試技巧與解析(二)

第6章  Go語言函數

6.1  認識函數

6.1.1  函數的聲明

6.1.2  函數的調用

6.1.3  函數的參數

6.1.4  函數的返回值

6.2  函數類型和匿名函數

6.2.1  函數類型

6.2.2  匿名函數

6.3  函數類型實現接口

6.3.1  結構體實現接口

6.3.2  函數體實現接口

6.4  defer

6.4.1  defer的用途

6.4.2  執行順序

6.5  閉包

6.5.1  什麽是閉包

6.5.2  在閉包內部修改引用的變量

6.6  宕機與宕機恢復

6.6.1  宕機(panic)

6.6.2  宕機恢復(recover)

6.7  錯誤與處理

6.7.1  錯誤接口

6.7.2  自定義錯誤

6.7.3  錯誤和異常

6.8  就業面試技巧與解析

6.8.1  面試技巧與解析(一)

6.8.2  面試技巧與解析(二)

第7章  結構體與方法

7.1  結構體

7.1.1  結構體的定義

7.1.2  創建結構體

7.1.3  結構體的使用

7.1.4  成員變量的初始化

7.1.5  匿名字段和內嵌結構體

7.2  類型系統

7.2.1  命名類型和未命名類型

7.2.2  自定義類型

7.2.3  類型的強制轉換

7.3  方法

7.3.1  方法的聲明

7.3.2  為結構體添加方法

7.3.3  為類型添加方法

7.3.4  工廠方法創建結構體

7.3.5  基於指針對象的方法

7.3.6  方法值和方法表達式

7.3.7  嵌入類型的方法和繼承

7.4  就業面試技巧與解析

7.4.1  面試技巧與解析(一)

7.4.2  面試技巧與解析(二)

 

第3篇  高級應用

第8章  Go語言接口的實現

8.1  認識接口

8.1.1  接口的聲明

8.1.2  接口初始化

8.1.3  接口的方法調用

8.2  接口的運算

8.2.1  類型斷言

8.2.2  類型查詢

8.2.3  接口的使用形式和優點

8.3  類型與接口

8.3.1  接口類型

8.3.2  類型與接口之間的關系

8.4  空接口

8.4.1  什麽是空接口

8.4.2  空接口和nil

8.4.3  空接口的使用

8.5  接口的內部實現

8.5.1  數據結構

8.5.2  接口的調用過程

8.5.3  空接口的數據結構

8.6  就業面試技巧與解析

8.6.1  面試技巧與解析(一)

8.6.2  面試技巧與解析(二)

第9章  Go語言的並發

9.1  並發基礎

9.1.1  並發與並行

9.1.2  指定使用核心數

9.1.3  並發與並行的區別

9.2  goroutine

9.2.1  什麽是goroutine

9.2.2  goroutine的創建

9.2.3  協程間的通信

9.3  通道

9.3.1  聲明通道類型

9.3.2  創建通道

9.3.3  通道的作用

9.3.4  select

9.3.5  緩沖機制

9.3.6  通道的傳遞

9.3.7  單向通道

9.3.8  關閉通道

9.3.9  超時和計時器

9.4  並發的進階

9.4.1  多核並行化

9.4.2  協程的同步

9.4.3  協程與恢復

9.4.4  生成器

9.4.5  並發模型

9.5  就業面試技巧與解析

9.5.1  面試技巧與解析(一)

9.5.2  面試技巧與解析(二)

第10章  反射機制

10.1  反射的類型對象

10.1.1  反射的類型(Type)與種類(Kind)

10.1.2  指針與指針指向的元素

10.1.3  使用反射獲取結構體的成員類型

10.1.4  結構體標簽

10.2  反射的值對象

10.2.1  使用反射值對象包裝任意值

10.2.2  從反射值對象獲取被包裝的值

10.2.3  使用反射訪問結構體的成員字段的值

10.2.4  反射對象的空和有效性判斷

10.2.5  使用反射值對象修改變量的值

10.2.6  通過類型創建類型

10.2.7  使用反射調用函數

10.3  反射的規則

10.3.1  反射API

10.3.2  反射三定律

10.4  inject庫

10.4.1  依賴註入和控制反轉

10.4.2  inject

10.4.3  inject的原理分析

10.5  反射的優點和缺點

10.6  就業面試技巧與解析

10.6.1  面試技巧與解析(一)

10.6.2  面試技巧與解析(二)

第11章  包

11.1  包的概念

11.1.1  什麽是包

11.1.2  包的結構

11.1.3  常用內置包

11.1.4  包的導入

11.1.5  包的使用

11.1.6  Go語言工具箱

11.2  包的工作目錄(GOPATH)

11.2.1  如何查看GOPATH

11.2.2  GOPATH的工程結構

11.2.3  設置和使用GOPATH

11.2.4  在多項目工程中使用GOPATH

11.3  創建包

11.4  導出標識符

11.4.1  導出包內標識符

11.4.2  導出結構體及接口成員

11.5  自定義包

11.5.1  包的製作

11.5.2  特定平臺的代碼

11.5.3  godoc生成文檔

11.5.4  包的打包與發布

11.5.5  自定義包的導入

11.6  sync包與鎖

11.6.1  互斥鎖

11.6.2  讀寫鎖

11.7  就業面試技巧與解析

11.7.1  面試技巧與解析(一)

11.7.2  面試技巧與解析(二)

 

第4篇  項目實踐

第12章  網絡編程

12.1  Socket編程

12.1.1  什麽是Socket

12.1.2  Dial()函數

12.1.3  TCP Socket

12.1.4  UDP Socket

12.2  HTTP編程

12.2.1  HTTP客戶端

12.2.2  HTTP服務器端

12.3  數據庫

12.3.1  database/sql接口

12.3.2  使用MySQL數據庫

12.3.3  使用SQLite數據庫

12.3.4  使用PostgreSQL數據庫

12.3.5  NoSQL數據庫操作

12.4  Cookie

12.4.1  設置Cookie

12.4.2  讀取Cookie

12.5  就業面試技巧與解析

12.5.1  面試技巧與解析(一)

12.5.2  面試技巧與解析(二)

第13章  Go語言的文件處理

13.1  文件操作

13.1.1  創建文件與查看狀態

13.1.2  重命名與移動

13.1.3  打開與關閉

13.1.4  刪除與截斷

13.1.5  讀寫文件

13.1.6  權限控制

13.1.7  文件鏈接

13.2  XML文件處理

13.2.1  解析XML

13.2.2  生成XML

13.2.3  XML文件的讀寫操作

13.3  JSON文件處理

13.3.1  解析JSON

13.3.2  生成JSON

13.3.3  JSON文件的讀寫操作

13.4  日誌記錄

13.4.1  Logrus

13.4.2  Seelog

13.5  壓縮

13.5.1  打包與壓縮

13.5.2  壓縮與解壓

13.6  就業面試技巧與解析

13.6.1  面試技巧與解析(一)

13.6.2  面試技巧與解析(二)

第14章  編譯與工具

14.1  編譯

14.1.1  go build無參數編譯

14.1.2  go build+文件列表

14.1.3  go build+包

14.1.4  go build編譯時的附加參數

14.2  編譯後運行

14.3  編譯並安裝

14.4  清除編譯文件

14.5  格式化代碼文件

14.6  一鍵獲取代碼、編譯並安裝

14.6.1  遠程包的路徑格式

14.6.2  go get+遠程包

14.6.3  go get使用時的附加參數

14.7  編譯前自動化生成代碼

14.8  測試

14.8.1  單元測試

14.8.2  基準測試

14.9  性能分析

14.9.1  安裝圖形化顯示分析數據工具

14.9.2  安裝第三方性能分析來分析代碼包

14.9.3  性能分析

14.10  就業面試技巧與解析

14.10.1  面試技巧與解析(一)

14.10.2  面試技巧與解析(二)