課程簡(jiǎn)介
Go語(yǔ)言是谷歌推出的一種全新的編程語(yǔ)言,可以在不損失應(yīng)用程序性能的情況下降低代碼的復(fù)雜性。之所以開發(fā)Go,是因?yàn)檫^(guò)去10多年間軟件開發(fā)的難度令人沮喪。Go是谷歌2009發(fā)布的第二款編程語(yǔ)言。2009年7月份,谷歌曾發(fā)布了Simple語(yǔ)言,它是用來(lái)開發(fā)Android應(yīng)用,Go有著超強(qiáng)大的開發(fā)效率。
硬件平臺(tái):Go語(yǔ)言設(shè)計(jì)支持主流的32位和64位的x86平臺(tái),同時(shí)也支持32位的ARM架構(gòu)。
操作系統(tǒng):Go語(yǔ)言在Go1版本上支持Windows, 蘋果Mac OS X, Linux和FreeBSD操作系統(tǒng)
目標(biāo)收益
培訓(xùn)對(duì)象
熟悉Go語(yǔ)法,有一定的Linux知識(shí)基礎(chǔ)
課程大綱
第一課時(shí): Go詳解 主要介紹Go的語(yǔ)法信息 |
? 對(duì)比Go/PHP/JAVA/C/C++/Python等語(yǔ)言 介紹Go語(yǔ)言在國(guó)內(nèi)外的使用情況 類型和變量 ? 值和指針的詳解 ? 函數(shù)分析 ? 結(jié)構(gòu)體詳解 ? interface詳解 ? Go中的OOP ? Goroutine race condition channels分析 ? 錯(cuò)誤處理 ? package和exporting設(shè)計(jì) ? 動(dòng)手實(shí)驗(yàn)題:開發(fā)兩個(gè)命令行工具,一個(gè)實(shí)現(xiàn)ls的功能,一個(gè)實(shí)現(xiàn)grep的功能 |
第二課時(shí): Go核心 |
1. interface設(shè)計(jì)詳解 ? 2. goroutine和調(diào)度器設(shè)計(jì)詳解 ? 3. channel設(shè)計(jì)詳解 ? 4.1.10/1.11新版本特性 ? 5.鎖和并發(fā)相關(guān) |
第三課時(shí): Go 如何寫高并發(fā)網(wǎng)絡(luò)服務(wù) |
1. Go TCP編程詳解 ? 2. Go如何建立TCP鏈接 ?3. gorotuine和channel 在scoket讀寫的詳解 ?4. conn在多goroutine之間的共享 ?5. TCP鏈接關(guān)閉 ? 6. scoket屬性的詳解 ? 7. Go HTTP編程詳解 ? 8. HTTP協(xié)議詳解 ? 9. HTTP實(shí)現(xiàn)詳解 |
第四課時(shí): Go 程序的測(cè)試和調(diào)試 |
1. Go 如何寫測(cè)試 ? 1. 單元測(cè)試 ? 2. 壓力測(cè)試 ? 3. 集成測(cè)試 ? 4. docker 測(cè)試 ? 2. Go 如何調(diào)試 ? 1. CPU profile ? 2. Mem profile ? 3. GC profile ? 4. Tracer |
第一課時(shí): Go詳解 主要介紹Go的語(yǔ)法信息 ? 對(duì)比Go/PHP/JAVA/C/C++/Python等語(yǔ)言 介紹Go語(yǔ)言在國(guó)內(nèi)外的使用情況 類型和變量 ? 值和指針的詳解 ? 函數(shù)分析 ? 結(jié)構(gòu)體詳解 ? interface詳解 ? Go中的OOP ? Goroutine race condition channels分析 ? 錯(cuò)誤處理 ? package和exporting設(shè)計(jì) ? 動(dòng)手實(shí)驗(yàn)題:開發(fā)兩個(gè)命令行工具,一個(gè)實(shí)現(xiàn)ls的功能,一個(gè)實(shí)現(xiàn)grep的功能 |
第二課時(shí): Go核心 1. interface設(shè)計(jì)詳解 ? 2. goroutine和調(diào)度器設(shè)計(jì)詳解 ? 3. channel設(shè)計(jì)詳解 ? 4.1.10/1.11新版本特性 ? 5.鎖和并發(fā)相關(guān) |
第三課時(shí): Go 如何寫高并發(fā)網(wǎng)絡(luò)服務(wù) 1. Go TCP編程詳解 ? 2. Go如何建立TCP鏈接 ?3. gorotuine和channel 在scoket讀寫的詳解 ?4. conn在多goroutine之間的共享 ?5. TCP鏈接關(guān)閉 ? 6. scoket屬性的詳解 ? 7. Go HTTP編程詳解 ? 8. HTTP協(xié)議詳解 ? 9. HTTP實(shí)現(xiàn)詳解 |
第四課時(shí): Go 程序的測(cè)試和調(diào)試 1. Go 如何寫測(cè)試 ? 1. 單元測(cè)試 ? 2. 壓力測(cè)試 ? 3. 集成測(cè)試 ? 4. docker 測(cè)試 ? 2. Go 如何調(diào)試 ? 1. CPU profile ? 2. Mem profile ? 3. GC profile ? 4. Tracer |