極客時間出品的《Go語言從入門到實戰》由蔡超所作,蔡超是Mobvista技術副總裁兼首席架構師,前亞馬遜(中國)首席軟體架構師,《Go語言從入門到實戰》課程作者。本專欄課程將帶你學習簡明高效的Go語言實戰指南。
《Go語言從入門到實戰》課程亮點
1. 講師蔡超,曾任亞馬遜(中國)和惠普的首席軟體架構師,精通 Go 語言和多門程式語言,具有豐富的專案實戰經驗。
2. 獨特的學習方法:著重對比 Go 語言語法和其他其他程式語言的不同,帶你快速入門 Go 語言,高效掌握 Go 語言的程式設計方法。
3. 學以致用,注重實戰:帶你對 Go 語言在開發中的常見問題進行拆解分析,比如併發程式設計模式,常見併發任務,高可用服務設計,效能調優等難題,讓你可以從入門走向實戰。
《Go語言從入門到實戰》講師簡介
蔡超目前在 Mobvista 擔任技術副總裁兼首席架構師,之前的 9 年,曾在亞馬遜(中國)、惠普等世界級 IT 公司擔任過首席軟體架構師。
擁有 15 年的軟體開發經驗,學習和使用過很多的程式語言,如:BASIC,Pasic,Perl,Python,C/C++,Java,Lisp,Haskel l 等,當然,也包括 Go 語言。 他在 Mobvista 帶領團隊,使用 Go 語言構建了國內最大同時也是全球排名前十的移動廣告平臺,這個平臺每天處理著來自世界各地的超過 500 億次請求,在 Go 語言方面有著豐富的實操經驗。
《Go語言從入門到實戰》適用人群
本課程適合已經掌握如 C/C++ Java Python PHP 等其它一門或多門程式語言的學員。
《Go語言從入門到實戰》課程大綱
注:由於大綱中的部分知識點會合並在一起講解,所以最終的課程目錄和大綱會稍有區別,但大綱中的所有知識點都會講到。
基礎篇
Go語言簡介
課程內容綜述
Go語言簡介:歷史背景’發展現狀及語言特性
開發環境構建
編寫你的第一個Go程式
基本程式結構
變數、常量以及與其他語言的差異
基本資料型別
資料型別轉化與其他語言的差異
Go語言指標型別與其他語言的差異
Go語言的運算子
按位置零算符&
條件和循鈽
萬能的”for”與強大的”switch”
常用集合
陣列元素遍歷(for…range結構)
陣列擷取
切片的內部結構
切片共享儲存結構
陣列和切片有哪些不同點
Go語言的Map元索訪問與冥他語言的差異
Map與工廠模式
如何在Go語言中實現Set的功能
字串
Go語言字串與其他程式語言的差異
編碼與儲存:Unicode與UTF-8的區別
常用宇符串函式
函式
為什麼說Go語言中的函式是一等公民
函數語言程式設計簡介
Go語言的函式與其他程式語言的差異
可變引數和defer
物件導向程式設計
封裝資料和行為
行為(方法)定義
定義互動協議
無依賴入侵的Duck Type介面
自定義型別
擴充套件與複用
匿名型別嵌入與繼承(Go語言到底支不支援繼承?)
不一樣的介面型別,一樣的多型
空介面與斷言
Go語言介面最佳實踐
編寫好的錯誤處理
沒有異常的現代語言鍺誤機制
編寫清晰高效的鍺誤處理程式碼
Panic 和 os.Exit 的區別
“Let is crash!”錯誤恢復可能是惡魔
包和依賴管理
構建可複用的模組(包)
擴充套件依賴管理
解決Go語言未解決的依賴問題
進階篇
併發程式設計
協程及其機制:Thead vs. Groutine
Goroutine併發排程模型深度解析
在Go語言中使用傳統的共享記憶體併發機制
Go語言內建的CSP併發機制及程式設計
非同步返回任務的CSP實現(用CSP實現Java future機制)
多路選擇和超時控制
channel的關閉和廣播
context處理複雜場景的任務取消
典型併發任務
單例模式(懶漢式,執行緒安全)
實現池化
典型併發場景1:等待所有任務完成
典型併發場景2:僅需任意任務完成
測試
編寫單元測試
Error和Fail的區別
自動程式碼覆蓋率檢測
在Go語言中使用你喜歡的Junit斷言
基準測試
領域驅動開發測試簡介
在Go語言中實踐領域驅動幵發
反射和Unsafe
reflect.Type 和reflect.Value
利用反射編寫不可思議的“萬能程渾”
深度比較
使用反射的思考
“不安全”行為的後果
合理的冒險場景
常見架構模式的實現
站在巨人的肩上:利用架構模式構建可擴充套件性系統
實現 pipe-filter framework
實現 micro-kernel framework
常見任務
易用而低效的內建JSON解析
高效的JSON解析
基於HTTP的服務構建
效能調優
利用強大的工具慘斷系統效能
鎖:鎖住了你程式的效能
編寫GC friendly的程式碼
別讓字元連線成為效能殺手
高可用性服務設計
分散式服務常見故障
慢晌應比快遞失敗更可怕
面向鍺誤和恢復的設計
Chaos Engineering:用經常性問題來預防突發性災難
訂閱價格:
為回報猿人學的粉絲,所有通過我分享的二維碼購買的使用者,請加我微訊號:dismissmewp,備註:返現。
享受完其它優惠後,我再給大家立即返¥12元現金。
我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。
***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***