《Go語言從入門到項目實踐(超值版)》是2022年清華大學出版社出版的圖書,作者是余建熙。
基本介紹
- 中文名:Go語言從入門到項目實踐(超值版)
- 作者:余建熙
- 出版時間:2022年7月
- 出版社:清華大學出版社
- ISBN:9787302603276
- 定價:99.00 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,第1篇 基礎知識,第2篇 核心套用,第3篇 高級套用,第4篇 項目實踐,
內容簡介
《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 面試技巧與解析(二)