Go語言從入門到實戰-蔡超-極客時間

wuwu發表於2019-04-24

極客時間出品的《Go語言從入門到實戰》由蔡超所作,蔡超是Mobvista技術副總裁兼首席架構師,前亞馬遜(中國)首席軟體架構師,《Go語言從入門到實戰》課程作者。本專欄課程將帶你學習簡明高效的Go語言實戰指南。
《Go 語言從入門到實戰》封面圖

《Go語言從入門到實戰》課程亮點

1. 講師蔡超,曾任亞馬遜(中國)和惠普的首席軟體架構師,精通 Go 語言和多門程式語言,具有豐富的專案實戰經驗。

2. 獨特的學習方法:著重對比 Go 語言語法和其他其他程式語言的不同,帶你快速入門 Go 語言,高效掌握 Go 語言的程式設計方法。

3. 學以致用,注重實戰:帶你對 Go 語言在開發中的常見問題進行拆解分析,比如併發程式設計模式,常見併發任務,高可用服務設計,效能調優等難題,讓你可以從入門走向實戰。

《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元現金。

Go語言從入門到實戰 課程返現

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章