The way to Go 繁體中文版
Introduction
directory
前言
第1章:Go 語言的起源,發展與普及
1.1 起源與發展
1.2 語言的主要特性與發展的環境和影響因素
第2章:安裝與運行環境
平臺與架構
Go 環境變量
在 Linux 上安裝 Go
在 Mac OS X 上安裝 Go
在 Windows 上安裝 Go
安裝目錄清單
Go 運行時(runtime)
Go 解釋器
第3章:編輯器、集成開發環境與其它工具
Go 開發環境的基本要求
編輯器和集成開發環境
調試器
構建並運行 Go 程序
格式化代碼
生成代碼文檔
其它工具
Go 性能說明
與其它語言進行交互
第4章:基本結構和基本數據類型
文件名、關鍵字與標識符
Go 程序的基本結構和要素
常量
變量
基本類型和運算符
字符串
strings 和 strconv 包
時間和日期
指針
第5章:控制結構
if-else 結構
測試多返回值函數的錯誤
switch 結構
for 結構
Break 與 continue
標籤與 goto
第6章:函數(function)
介紹
函數參數與返回值
傳遞變長參數
defer 和追蹤
內置函數
遞歸函數
將函數作爲參數
閉包
應用閉包:將函數作爲返回值
使用閉包調試
計算函數執行時間
通過內存緩存來提升性能
第7章:數組與切片
聲明和初始化
切片
For-range 結構
切片重組(reslice)
切片的複製與追加
字符串、數組和切片的應用
第8章:Map
聲明、初始化和 make
測試鍵值對是否存在及刪除元素
for-range 的配套用法
map 類型的切片
map 的排序
將 map 的鍵值對調
第9章:包(package)
標準庫概述
regexp 套件
鎖和 sync 套件
精密計算和 big 套件
自定義套件和可見性
爲自定義套件使用 godoc
使用 go install 安裝自定義包
自定義套件的目錄結構、go install 和 go test
通過 Git 打套件和安裝
Go 的外部套件和項目
在 Go 程序中使用外部函式庫
第10章:結構(struct)與方法(method)
結構體定義
使用工廠方法創建結構體實例
使用自定義包中的結構體
帶標籤的結構體
匿名字段和內嵌結構體
方法
類型的 String() 方法和格式化描述符
垃圾回收和 SetFinalizer
第11章:介面(interface)與映射(reflection)
接口是什麼
接口嵌套接口
類型斷言:如何檢測和轉換接口變量的類型
類型判斷:type-switch
測試一個值是否實現了某個接口
使用方法集與接口
第一個例子:使用 Sorter 接口排序
第二個例子:讀和寫
空接口
反射包
Printf 和反射
接口與動態類型
總結:Go 中的面向對象
結構體、集合和高階函數
第12章:讀寫數據
讀取用戶的輸入
文件讀寫
文件拷貝
從命令行讀取參數
用 buffer 讀取文件
用切片讀寫文件
用 defer 關閉文件
使用接口的實際例子:fmt.Fprintf
格式化 JSON 數據
XML 數據格式
用 Gob 傳輸數據
Go 中的密碼學
第13章:錯誤處理與測試
錯誤處理
運行時異常和 panic
從 panic 中恢復(Recover)
自定義包中的錯誤處理和 panicking
一種用閉包處理錯誤的模式
啓動外部命令和程序
Go 中的單元測試和基準測試
測試的具體例子
用(測試數據)表驅動測試
性能調試:分析並優化 Go 程序
第14章:協程(goroutine)與通道(channel)
併發、並行和協程
使用通道進行協程間通信
協程同步:關閉通道-對阻塞的通道進行測試
使用 select 切換協程
通道,超時和計時器(Ticker)
協程和恢復(recover)
第15章:網絡、模版與網頁應用
tcp服務器
一個簡單的web服務器
訪問並讀取頁面數據
寫一個簡單的網頁應用
第16章:常見的陷阱與錯誤
誤用短聲明導致變量覆蓋
誤用字符串
發生錯誤時使用defer關閉一個文件
何時使用new()和make()
不需要將一個指向切片的指針傳遞給函數
使用指針指向接口類型
使用值類型時誤用指針
誤用協程和通道
閉包和協程的使用
糟糕的錯誤處理
第17章:模式
關於逗號ok模式
第18章:出於性能考慮的實用代碼片段
字符串
數組和切片
映射
結構體
接口
函數
文件
協程(goroutine)與通道(channel)
網絡和網頁應用
其他
出於性能考慮的最佳實踐和建議
第19章:構建一個完整的應用程序
第20章:Go 語言在 Google App Engine 的使用
第21章:實際部署案例
A 代碼引用
B 有趣的 Go 引用
C 代碼示例列表
D 書中的包引用
E 書中的工具引用
F 常見問題解答
G 習題答案
H 參考文獻
Powered by
GitBook
第9章:包(package)
9.0 套件(package)
本章主要針對 Go 語言的套件展開講解。
鏈接
目錄
上一章:
將 map 的鍵值對調
下一節:
標準庫概述
results matching "
"
No results matching "
"