這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
# Golang 開發技能圖譜
## Go 語言環境搭建
- Go 安裝
- GOPATH 與工作空間
- Go 命令
- Go開發工具
## GO 語言編程基礎
- 關鍵詞和文法(Language Syntax)
- 資料類型(Arrays, Slices and Maps)
- 流程式控制制(if/else,for/range)
- Go 函數(Function)
- 物件導向(Methods, Interfaces and Embedding)
- 包處理(Packaging and Exporting)
- Go 指標(Using Pointers)
- 程式測試(Testing and Debugging)
- 對象合成(Composition)
- 錯誤處理(Error Handling)
- 標準庫(Standard Library)
- 反射(Reflection)
## 並發編程
- Go 並發基礎(Concurrency, Race Conditions and Channels)
- 併發模式(Concurrency Patterns)
## Go Web 編程
- Web基礎
- Web工作方式
- Go 搭建一個簡單的web服務
- Go 的 HTTP 包詳解
- 表單
- 處理表單的輸入
- 驗證表單的輸入
- 預防跨站指令碼
- 防止多次遞交表單
- 處理檔案上傳
- 資料庫
- database/sql介面
- 使用MySQL資料庫
- 使用PostgreSQL資料庫
- 使用beedb庫進行ORM開發
- NOSQL資料庫操作
- Session 和資料存放區
- Session 和 Cookie
- Go 如何使用 Session
- Session 儲存
- 預防 Session 劫持
- 文字檔處理
- XML 處理
- JSON 處理
- 正則處理
- 模板處理
- 檔案操作
- 字串處理
- Web服務
- Socket 編程
- WebSocket
- REST
- RPC
- 安全與加密
- 預防 CSRF 攻擊
- 確保輸入過濾
- 避免 XSS 攻擊
- 避免 SQL 注入
- 儲存密碼
- 加密和解密資料
- 國際化和本地化
- 設定預設地區
- 本地化資源
- 國際化網站
- 錯誤處理,調試和測試
- 錯誤處理
- 使用GDB調試
- Go怎麼寫測試案例
- 部署與維護
- 應用日誌
- 網站錯誤處理
- 應用部署
- 備份和恢複
- 如何設計一個Web架構
- 專案規劃
- 自訂路由器設計
- Controller 設計
- 日誌和配置設計
- 實現部落格的增刪改
- 擴充Web架構
- 靜態檔案支援
- Session 支援
- 表單支援
- 使用者認證
- 多語言支援
- pprof支援
## Go 應用
- Docker
- Bee Go
- NSQ
- NewSQL
## Go 實戰案例