本書由《C程序設(shè)計語言》的作者Kernighan和谷歌公司Go團(tuán)隊主管AlanDonovan聯(lián)袂撰寫,是學(xué)習(xí)Go語言程序設(shè)計指南。本書共13章,主要內(nèi)容包括:Go的基礎(chǔ)知識、基本結(jié)構(gòu)、基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型、函數(shù)、方法、接口、goroutine、通道、共享變量的并發(fā)性、包、go工具、測試、反射等。本書適合作為計算機相關(guān)專業(yè)的教材,也可供Go語言愛好者閱讀。
Alan Donovan 是谷歌公司基礎(chǔ)架構(gòu)部的主管工程師,專長是軟件開發(fā)工具。自2012年,他一直工作的Got團(tuán)隊,設(shè)計用于靜態(tài)分析的庫和工具。他是”oracle”、“godoc –analysis”、“eg”和“gorename”的作者。
Brianv Kernighan是《C程序設(shè)計語言》的作者之一,他與C語言的發(fā)明人Dennis Ritchie共同合作了這本書,K&R就是兩人名字的縮寫。他是一位加拿大計算機科學(xué)家,在貝爾實驗室,他與Unix的創(chuàng)造者Ken Thompson以及Dennis Ritchie一起工作,同時它也是開發(fā)Unix的主要貢獻(xiàn)者。他是 AWK 和 AMPL 編程語言的作者之一,AWK中的K說的就是Kernighan。Brian Kernighan現(xiàn)在是普林斯頓大學(xué)計算機學(xué)院的教授,同時,他也是本科學(xué)部的代表。
目錄
The Go Programming Language
出版者的話
譯者序
前言
第1章入門 1
1.1hello,world 1
1.2命令行參數(shù) 3
1.3找出重復(fù)行 6
1.4GIF動畫 10
1.5獲取一個URL 12
1.6并發(fā)獲取多個URL 13
1.7一個Web服務(wù)器 14
1.8其他內(nèi)容 17
第2章程序結(jié)構(gòu) 20
2.1名稱 20
2.2聲明 21
2.3變量 22
2.3.1短變量聲明 22
2.3.2指針 23
2.3.3new函數(shù) 25
2.3.4變量的生命周期 26
2.4賦值 27
2.4.1多重賦值 27
2.4.2可賦值性 28
2.5類型聲明 29
2.6包和文件 30
2.6.1導(dǎo)入 31
2.6.2包初始化 33
2.7作用域 34
第3章基本數(shù)據(jù) 38
3.1整數(shù) 38
3.2浮點數(shù) 42
3.3復(fù)數(shù) 45
3.4布爾值 47
3.5字符串 47
3.5.1字符串字面量 49
3.5.2Unicode 49
3.5.3UTF-8 50
3.5.4字符串和字節(jié)slice 53
3.5.5字符串和數(shù)字的相互轉(zhuǎn)換 56
3.6常量 56
3.6.1常量生成器iota 57
3.6.2無類型常量 59
第4章復(fù)合數(shù)據(jù)類型 61
4.1數(shù)組 61
4.2slice 63
4.2.1append函數(shù) 66
4.2.2slice就地修改 69
4.3map 71
4.4結(jié)構(gòu)體 76
4.4.1結(jié)構(gòu)體字面量 78
4.4.2結(jié)構(gòu)體比較 80
4.4.3結(jié)構(gòu)體嵌套和匿名成員 80
4.5JSON 82
4.6文本和HTML模板 87
第5章函數(shù) 92
5.1函數(shù)聲明 92
5.2遞歸 93
5.3多返回值 96
5.4錯誤 98
5.4.1錯誤處理策略 99
5.4.2文件結(jié)束標(biāo)識 101
5.5函數(shù)變量 102
5.6匿名函數(shù) 104
5.7變長函數(shù) 110
5.8延遲函數(shù)調(diào)用 111
5.9宕機 115
5.10恢復(fù) 118
第6章方法 120
6.1方法聲明 120
6.2指針接收者的方法 122
6.3通過結(jié)構(gòu)體內(nèi)嵌組成類型 124
6.4方法變量與表達(dá)式 127
6.5示例:位向量 128
6.6封裝 130
第7章接口 133
7.1接口即約定 133
7.2接口類型 135
7.3實現(xiàn)接口 136
7.4使用flag.Value來解析參數(shù) 139
7.5接口值 141
7.6使用sort.Interface來排序 144
7.7http.Handler接口 148
7.8error接口 152
7.9示例:表達(dá)式求值器 154
7.10類型斷言 160
7.11使用類型斷言來識別錯誤 161
7.12通過接口類型斷言來查詢特性 162
7.13類型分支 164
7.14示例:基于標(biāo)記的XML解析 166
7.15一些建議 168
第8章goroutine和通道 170
8.1goroutine 170
8.2示例:并發(fā)時鐘服務(wù)器 171
8.3示例:并發(fā)回聲服務(wù)器 174
8.4通道 176
8.4.1無緩沖通道 177
8.4.2管道 178
8.4.3單向通道類型 180
8.4.4緩沖通道 181
8.5并行循環(huán) 183
8.6示例:并發(fā)的Web爬蟲 187
8.7使用select多路復(fù)用 190
8.8示例:并發(fā)目錄遍歷 192
8.9取消 195
8.10示例:聊天服務(wù)器 198
第9章使用共享變量實現(xiàn)并發(fā) 201
9.1競態(tài) 201
9.2互斥鎖:sync.Mutex 205
9.3讀寫互斥鎖:sync.RWMutex 208
9.4內(nèi)存同步 208
9.5延遲初始化:sync.Once 210
9.6競態(tài)檢測器 212
9.7示例:并發(fā)非阻塞緩存 212
9.8goroutine與線程 218
9.8.1可增長的棧 219
9.8.2goroutine調(diào)度 219
9.8.3GOMAXPROCS 219
9.8.4goroutine沒有標(biāo)識 220
第10章包和go工具 221
10.1引言 221
10.2導(dǎo)入路徑 221
10.3包的聲明 222
10.4導(dǎo)入聲明 223
10.5空導(dǎo)入 223
10.6包及其命名 225
10.7go工具 226
10.7.1工作空間的組織 227
10.7.2包的下載 228
10.7.3包的構(gòu)建 229
10.7.4包的文檔化 231
10.7.5內(nèi)部包 232
10.7.6包的查詢 233
第11章測試 235
11.1go test工具 235
11.2Test函數(shù) 236
11.2.1隨機測試 239
11.2.2測試命令 240
11.2.3白盒測試 242
11.2.4外部測試包 245
11.2.5編寫有效測試 246
11.2.6避免脆弱的測試 247
11.3覆蓋率 248
11.4Benchmark函數(shù) 250
11.5性能剖析 252
11.6Example函數(shù) 254
第12章反射 256
12.1為什么使用反射 256
12.2reflect.Type和reflect.Value 257
12.3Display:一個遞歸的值顯示器 259
12.4示例:編碼S表達(dá)式 263
12.5使用reflect.Value來設(shè)置值 266
12.6示例:解碼S表達(dá)式 268
12.7訪問結(jié)構(gòu)體字段標(biāo)簽 271
12.8顯示類型的方法 273
12.9注意事項 274
第13章低級編程 276
13.1unsafe.Sizeof、Alignof 和Offsetof 276
13.2unsafe.Pointer 278
13.3示例:深度相等 280
13.4使用cgo調(diào)用C代碼 282
13.5關(guān)于安全的注意事項 286
剛開始看,go語言不錯
感覺不錯……
go語言大作,值得學(xué)習(xí)
紙質(zhì)真是非常一般
快遞有點慢 書質(zhì)量還可以
性價比超高
內(nèi)容不錯 隨手看了看
還行 沒想想的厚 略薄
翻譯什么的就算了,還沒頭沒尾的,也不適合學(xué)習(xí)。這書的讀者默認(rèn)為已經(jīng)是編程老手,不然不是你有點基礎(chǔ)就可以學(xué)的。
絕對正版書,很不錯的資料,宅急送快遞給力
物流慢,包裝破損。物流慢,包裝破損。物流慢,包裝破損。物流慢,包裝破損。物流慢,包裝破損。物流慢,包裝破損。
那翻譯真是有夠爛的,改排名那么前也是醉了,爛,就一個字,真心惡心翻譯
物流速度快
不容易閱讀,也許是翻譯的不太好
不錯,先看看
很多東西解釋的很詳細(xì)。很好。
緊跟技術(shù)發(fā)展
go語言圣經(jīng),書不錯
特別好的書籍,值得推薦哦!
第一次看見go 語言就喜歡了他的預(yù)發(fā)。現(xiàn)在買書來查詢
經(jīng)典C語言《C程序設(shè)計語言》作者寫的書,必定也是經(jīng)典的書
書不錯,內(nèi)容很全面,對go做了深入說明,有很多編碼易錯的注意事項,與其他語法差異處也有詳細(xì)說明