# Go 語言課程表 (2 天) ## 第一天 | 時間 | 課程 | 時數 | | ------------- | --------------- | ---- | | 09:00 ~ 10:00 | Go 語言開發環境 | 1 | | 10:10 ~ 12:00 | Go 基本語法特性 | 2 | | 13:30 ~ 16:30 | Go 併發基礎介紹 | 3 | * Go 語言開發環境 * VSCode 環境介紹 (Go 語言相關設定及技巧) * Go Command 介紹 (go get, build, install .. 等指令技巧) * Go vendor vs Go module 介紹 * GOPATH 目錄介紹 (src, pkg, bin 目錄) * 如何建立一個 Go 專案,並且導入 Unit Testing * Go 基本語法特性 * 如何變數宣告 (區域變數 vs 全域變數) * 什麼是 Nil * Array vs Slice 區別 (記憶體變化) * for map vs for channel (for 迴圈注意事項) * Struct Method 介紹 - Pointers vs Values 差異 - 搭配 goroutine 發生什麼問題? * Interface{} 介紹 - PHP Interface 轉 golang struct - Interface{} 當變數類型 - Interface{} 作為函式參數 (fmt 擴充) * Go routine * 如何建立 goroutine * 如何實作同步 * 避免 race condition * Go channel * 如何初始化 Channel * 什麼是 buffered vs unbuffered channel * 如何 closed channel * 用 for loop 讀取 channel * 設定專門讀寫 channel 流程 ## 第二天 | 時間 | 課程 | 時數 | | ------------- | ------------------------------------ | ---- | | 09:00 ~ 11:00 | Go Web 框架介紹及 API 實作 | 2 | | 11:10 ~ 12:00 | Go Command Line 實作 | 1 | | 13:30 ~ 14:30 | Go API Middleware 實作 | 1 | | 14:30 ~ 15:30 | Go API 測試 實作 | 1 | | 15:30 ~ 16:30 | Go GraphQL API 實作 (框架介紹與效能) | 1 | * Go 框架介紹 * 評估條件 * 效能評估 * Web API 實作 * 使用 Gin 實作 CRUD API * CLI 實作 * 目錄配置 * 套件介紹 * 專案 Config 配置 * 搭配 Docker * 定義環境變數 * 讀取環境變數 * API 測試 * Logger 介紹 * 實作 Middleware * API Token 驗證 * 使用 Contxt 存取資料 * 資料庫串接 * Xorm * Gorm * 資料庫測試 * SQLite 開發 * PostGres 或 MySQL 整合測試 * GraphQL 介紹 * 為什麼捨棄 Restful API * 框架介紹與效能 * GraphQL 測試
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up