Go語言實(shí)戰(zhàn)編程
培訓(xùn)班型: 企業(yè)內(nèi)訓(xùn)、公開課
課程長(zhǎng)度: 5天/30小時(shí)
培訓(xùn)講師: 博學(xué)高級(jí)講師
培訓(xùn)地點(diǎn): 杭州市文三路252號(hào)偉星大廈19樓博學(xué)國(guó)際教育培訓(xùn)中心
環(huán)境要求: 投影儀、白板、電腦
培訓(xùn)形式: 實(shí)例講授,現(xiàn)場(chǎng)演、練、及時(shí)溝通
培訓(xùn)資料: 培訓(xùn)教材
課程內(nèi)容
Go語言實(shí)戰(zhàn)編程
課程描述:TIOBE每年會(huì)將年度編程語言的桂冠頒發(fā)給當(dāng)年*的編程語言,而今年幾乎無需競(jìng)爭(zhēng),谷歌的Go語言便以大比分輕松拿下了這項(xiàng)榮譽(yù)。2016年度Go語言獲得了2.16%的用戶增長(zhǎng),其后遠(yuǎn)遠(yuǎn)綴著它的競(jìng)爭(zhēng)者——用戶增長(zhǎng)占比分別為0.95%和0.91%的Dart和Perl語言。Go語言的成功,不僅僅在于它的語法簡(jiǎn)單易學(xué),更在于它在吸收了C語言以及Java的優(yōu)點(diǎn)之后,能夠?yàn)槭褂谜咛峁└玫腻e(cuò)誤處理、支持更高的編程效率。同時(shí),Go對(duì)于并發(fā)的良好支持使得這門語言在服務(wù)器端編程有著很多語言無法比擬的優(yōu)勢(shì)。能夠使用協(xié)程而不是線程進(jìn)行并發(fā)編程的語言,至今只有Erlang、Lua以及Go,Java僅僅在第三方包中有支持,而Erlang以及Lua又是相對(duì)小眾的語言,這使得Go具有更大的優(yōu)勢(shì)。同時(shí),Go和Java一樣采用GC進(jìn)行內(nèi)存管理,讓開發(fā)者不再需要自己去管理內(nèi)存,但是相對(duì)Java的GC,Go的GC更快速而高效,使得程序的整體停頓時(shí)間縮短。而大量的Go第三方包也豐富了Go開發(fā)者的選擇。例如基于Go的Raft實(shí)現(xiàn)——Consul以及Etcd、微服務(wù)框架——Micro等等。可以預(yù)見,作為谷歌的寵兒以及開發(fā)者的新歡,Go在2017年將有更大的發(fā)展。本課程面向有一定編程基礎(chǔ),希望能夠快速了解Go語言編程,快速入門的學(xué)員。
培訓(xùn)對(duì)象:具備一點(diǎn)編程基礎(chǔ)即可,只要對(duì)GO語言感興趣
培訓(xùn)目標(biāo):掌握Go語言編程基本能力和Go語言的特性,深度了解Go的一些常用的開發(fā)框架,可以熟練運(yùn)用GO進(jìn)行開發(fā)工作
課程內(nèi)容:
基礎(chǔ)內(nèi)容:
? Go語言環(huán)境搭建—學(xué)習(xí)如何安裝Go的環(huán)境,以及IDE的使用
? Go語言基本結(jié)構(gòu)和數(shù)據(jù)類型—基本程序結(jié)構(gòu)、常量、變量、變量類型及字符串
? 控制結(jié)構(gòu)—if、switch、for
? 函數(shù)—參數(shù)及返回類型、可變參數(shù)、defer、遞歸、閉包
? 數(shù)組和slice—Go語言中的數(shù)組以及slice、slice的操作
? Map—Map的初始化、操作、以及map的slice
? Package—內(nèi)建package(regex、sync)、創(chuàng)建自己的package、使用外部庫
? Struct和方法—struct以及其方法、指針還是值?
? 接口和反射—Go的反射
高級(jí)內(nèi)容:
? 讀寫—對(duì)文件的讀寫、轉(zhuǎn)化為xml、json格式
? 錯(cuò)誤處理及測(cè)試—Go的錯(cuò)誤處理、運(yùn)行時(shí)異常以及panic、測(cè)試
? goroutine以及channel—并行、并發(fā)以及goroutine、channel的使用
? 網(wǎng)絡(luò)以及web編程
開發(fā)實(shí)戰(zhàn):
? Go語言常見錯(cuò)誤及陷阱