注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計打開Go語言之門:入門、實戰(zhàn)與進階

打開Go語言之門:入門、實戰(zhàn)與進階

打開Go語言之門:入門、實戰(zhàn)與進階

定 價:¥89.00

作 者: 飛雪無情 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111712459 出版時間: 2022-11-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  通過不斷思考和整理,作者編寫了這本更具系統(tǒng)性也更通俗易懂的Go語言入門和進階書籍,以幫助學習者少走彎路,比其他人更快一步提升職業(yè)競爭力。本書共包含5個部分。第1部分:快速入門Go語言。作者挑選了變量、常量、基礎數據類型、函數和方法、結構體和接口等知識點進行介紹。這部分內容相對簡潔,但已經足夠讓你掌握Go的基本程序結構了。第2部分:Go語言的高效并發(fā)。這部分主要介紹goroutine、channel、同步原語等知識,讓你對Go語言層面的并發(fā)支持有更深入的理解,并且可以編寫自己的Go語言并發(fā)程序。這個部分*后一章專門介紹常用的并發(fā)模式,可以拿來即用,以更好地控制并發(fā)。第3部分:深入理解Go語言。這部分講解Go 語言底層原理和高級功能,比如slice的底層是怎樣的、為什么這么高效等。這部分內容也是作者特意設計的,跟著作者一起研究底層原理,可避免初學者不求甚解的通病??傊?,只有理解了底層原理,你才能更靈活地編寫程序并高效地應對問題。第4部分:Go語言工程管理。學習一門語言,不僅要掌握它本身的知識,還要掌握模塊管理、性能優(yōu)化等周邊技能,因為這些技能可以幫助你更好地進行多人協(xié)作,提高開發(fā)效率,寫出更高質量的代碼。你可以在這部分學到如何測試Go語言代碼以提高代碼質量、如何做好性能優(yōu)化、如何使用第三方庫來提高自己項目的開發(fā)效率等。第5部分:Go語言泛型。這是Go語言在1.18版本中新增的特性,也是大家期待已久的特性。在這一部分作者會帶你學習Go語言泛型的使用,以及如何使用泛型來提高效率和簡化代碼。

作者簡介

  飛雪無情 Go語言早期的布道者、“Go語言實戰(zhàn)筆 記”作者,通過“飛雪無情”公眾號與數萬名讀者交流Go語言技術,擅長用通俗的語言將底層機制講得淺顯易懂。 深耕技術領域近十年,前隨手記技術VP、 Go Meetup講師、TGO鯤鵬會成員,目前在一家互聯(lián)網公司擔任副總裁,負責產品的研發(fā)管理和架構設計。

圖書目錄

前言 學習Go語言,抓住未來的機遇
●部分 快速入門Go語言
第1章 基礎入門:Hello, Go語言 2
1.1 Hello,World 2
1.2 程序結構分析 3
1.3 搭建Go語言開發(fā)環(huán)境 4
1.3.1 在Windows下安裝 4
1.3.2 在Linux下安裝 4
1.3.3 在macOS下安裝 4
1.3.4 安裝測試 4
1.3.5 環(huán)境變量設置 5
1.4 項目結構 5
1.5 編譯發(fā)布 6
1.6 跨平臺編譯 6
1.7 Go編輯器推薦 7
1.8 小結 8
第2章 數據類型:Go語言的基石 9
2.1 一個簡單示例 9
2.2 基礎類型 11
2.2.1 整型 11
2.2.2 浮點型 11
2.2.3 布爾型 12
2.2.4 字符串 12
2.2.5 零值 12
2.3 變量 13
2.3.1 變量簡短聲明 13
2.3.2 指針 13
2.3.3 賦值 13
2.4 常量 14
2.4.1 常量的定義 14
2.4.2 iota 14
2.5 字符串的使用 15
2.5.1 字符串和數字互轉 15
2.5.2 strings包 16
2.6 小結 16
第3章 
控制結構:if、for、switch那些事兒 17
3.1 if條件語句 17
3.2 switch選擇語句 19
3.3 for循環(huán)語句 20
3.4 小結 22
第4章 
集合類型:如何正確使用array、slice和map 23
4.1 數組 24
4.1.1 數組聲明 24
4.1.2 數組循環(huán) 25
4.2 切片 25
4.2.1 基于數組生成切片 26
4.2.2 切片的修改 26
4.2.3 切片的聲明 27
4.2.4 append函數 27
4.2.5 切片元素循環(huán) 28
4.3 映射 28
4.3.1 創(chuàng)建和初始化map 28
4.3.2 獲取和刪除map 29
4.3.3 遍歷map 29
4.3.4 獲取map的大小 30
4.4 string和[]byte 30
4.5 小結 31
第5章 
函數和方法:如何區(qū)分函數和方法 32
5.1 函數 33
5.1.1 函數初探 33
5.1.2 函數聲明 33
5.1.3 多值返回 34
5.1.4 返回值命名 35
5.1.5 可變參數 36
5.1.6 包級函數 37
5.1.7 匿名函數和閉包 37
5.2 方法 39
5.2.1 不同于函數的方法 39
5.2.2 值和指針類型接收者 39
5.3 小結 40
第6章 
struct和interface:隱式的接口實現(xiàn) 42
6.1 結構體 43
6.1.1 結構體的定義 43
6.1.2 聲明和使用 44
6.1.3 結構體的字段 44
6.2 接口 45
6.2.1 接口的定義 45
6.2.2 接口的實現(xiàn) 46
6.2.3 值和指針類型接收者 47
6.3 工廠函數 48
6.4 繼承和組合 49
6.5 類型斷言 50
6.6 小結 52
第7章 
錯誤處理:如何更優(yōu)雅地處理程序異常和錯誤 53
7.1 錯誤 54
7.1.1 error接口 54
7.1.2 error工廠函數 55
7.1.3 自定義error 55
7.1.4 error斷言 56
7.2 錯誤嵌套 56
7.2.1 Error Wrapping功能 56
7.2.2 errors.Unwrap函數 57
7.2.3 errors.Is函數 57
7.2.4 errors.As函數 58
7.3 defer函數 58
7.4 panic函數 59
7.5 recover函數 60
7.6 小結 60
●第二部分 Go語言的高效并發(fā)
第8章 
goroutine和channel:并發(fā)的基礎 62
8.1 什么是并發(fā) 63
8.2 進程和線程 63
8.2.1 進程 63
8.2.2 線程 64
8.3 協(xié)程 64
8.4 管道 65
8.4.1 聲明一個管道 65
8.4.2 無緩沖管道 66
8.4.3 有緩沖管道 66
8.4.4 關閉管道 67
8.4.5 單向管道 67
8.5 select channel示例 68
8.6 小結 69
第9章 
同步原語:讓你對并發(fā)控制得心應手 70
9.1 資源競爭 70
9.2 同步原語 71
9.2.1 sync.Mutex 71
9.2.2 sync.RWMutex 72
9.2.3 sync.WaitGroup 73
9.2.4 sync.Once 75
9.2.5 sync.Cond 76
9.3 小結 77
第10章 
Context:多協(xié)程并發(fā)控制神器 79
10.1 協(xié)程如何退出 79
10.2 Context的使用示例 81
10.3 Context詳解 82
10.4 Context樹 83
10.5 使用Context取消多個協(xié)程 84
10.6 Context傳值 85
10.7 Context使用原則 85
10.8 小結 86
第11章 
并發(fā)模式:拿來即用的經驗總結 87
11.1 for select循環(huán)模式 87
11.2 select timeout模式 88
11.3 流水線模式 89
11.4 扇出和扇入模式 92
11.5 Future模式 94
11.6 小結 96
第12章 
并發(fā)技巧:高效并發(fā)安全的字節(jié)池 97
12.1 字節(jié)切片 97
12.2 高效字節(jié)池 98
12.3 使用BytePoolCap 99
12.4 
BytePoolCap與sync.Pool的
 對比 99
12.5 小結 101
●第三部分 深入理解Go語言
第13章 
指針詳解:什么情況下應該使用指針 104
13.1 什么是指針 104
13.2 指針的聲明和定義 105
13.3 指針的操作 107
13.4 指針參數 107
13.5 指針接收者 108
13.6 什么情況下使用指針 108
13.7 小結 109
第14章 
參數傳遞:值、引用以及指針的區(qū)別 110
14.1 修改參數 111
14.2 值類型 112
14.3 指針類型 113
14.4 引用類型 114
14.4.1 map 114
14.4.2 chan 116
14.5 類型的零值 116
14.6 小結 117
第15章 
內存分配:new和make該如何選擇 118
15.1 變量 118
15.1.1 變量的聲明 119
15.1.2 變量的賦值 119
15.2 new函數 120
15.3 變量初始化 121
15.3.1 指針變量初始化 122
15.

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號