00-Go語言程序設(shè)計開篇-指趣學(xué)院

什么是Go語言

  • Go語言(Golang)是Google公司2009年推出的一門"高級編程言語", 目的是為了解決:
    • "現(xiàn)有主流編程語言"明顯落后于硬件發(fā)展速度的問題
    • 不能合理利用多核CPU的優(yōu)勢提升軟件系統(tǒng)性能的問題
    • 軟件復(fù)雜度越來越高, 維護(hù)成本也越來越高的問題
    • 企業(yè)開發(fā)中不得不在快速開發(fā)和性能之間艱難抉擇的問題

科普小知識:
1.靜態(tài)語言:
1.1一般都需要通過編譯器(compiler)將源代碼翻譯成機(jī)器碼蝠筑,之后才能執(zhí)行。程序被編譯之后無論是程序中的數(shù)據(jù)類型還是程序的結(jié)構(gòu)都不可以被改變
1.2靜態(tài)語言的性能和安全性都非常好, 例如C和C++揩懒、Go, 但是C和C++的缺點是開發(fā)速度慢, 維護(hù)成本高
2.動態(tài)語言
2.1一般不需要通過編譯器將源代碼翻譯成機(jī)器碼什乙,在運行程序的時候才逐行翻譯。程序在運行的過程中可以動態(tài)修改程序中的數(shù)據(jù)類型和程序的結(jié)構(gòu)
2.2動態(tài)語言開發(fā)速度快,維護(hù)成本低,例如Ruby和Python, 但是Ruby和Python的性能和安全性又略低

  • Go語言專門針對多核CPU進(jìn)行了優(yōu)化, 能夠充分使用硬件多核CPU的優(yōu)勢, 使得通過Go語言編寫的軟件系統(tǒng)性能能夠得到很大提升
  • Go語言編寫的程序,既可以媲美C或C++代碼的運行速度, 也可以媲美Ruby或Python開發(fā)的效率
  • 所以Go語言很好的解決了"現(xiàn)有主流編程語言"存在的問題, 被譽"現(xiàn)代化的編程語言"

Go語言優(yōu)勢

  • 簡單易學(xué)
    • Go語言的作者都有C的基因已球,Go自然而然也有了C的基因臣镣,但是Go的語法比C還簡單, 并且?guī)缀踔С执蠖鄶?shù)你在其他語言見過的特性:封裝、繼承智亮、多態(tài)忆某、反射等
  • 豐富的標(biāo)準(zhǔn)庫
    • Go目前已經(jīng)內(nèi)置了大量的庫,特別是網(wǎng)絡(luò)庫非常強(qiáng)大
    • 前面說了作者是C的作者阔蛉,所以Go里面也可以直接包含c代碼弃舒,利用現(xiàn)有的豐富的C庫
  • 跨平臺編譯和部署
    • Go代碼可直接編譯成機(jī)器碼,不依賴其他庫状原,部署就是扔一個文件上去就完事了. 并且Go代碼還可以做到跨平臺編譯(例如: window系統(tǒng)編譯linux的應(yīng)用)
  • 內(nèi)置強(qiáng)大的工具
    • Go語言里面內(nèi)置了很多工具鏈聋呢,最好的應(yīng)該是gofmt工具,自動化格式化代碼颠区,能夠讓團(tuán)隊review變得如此的簡單削锰,代碼格式一模一樣,想不一樣都很困難
  • 性能優(yōu)勢: Go 極其地快毕莱。其性能與 C 或 C++相似垛孔。在我們的使用中犁钟,Go 一般比 Python 要快 30 倍左右
    • 語言層面支持并發(fā)稳摄,這個就是Go最大的特色稚字,天生的支持并發(fā)饲宿,可以充分的利用多核厦酬,很容易的使用并發(fā)
    • 內(nèi)置runtime,支持垃圾回收
  • ... ...

Go語言的吉祥物是地鼠
地鼠的特點是速度快瘫想、成群結(jié)隊仗阅、頭腦簡單
而Go語言的特點正好也是編程速度快、并發(fā)性好国夜、簡單易學(xué)



Go語言發(fā)展史

2007年减噪,谷歌工程師Rob Pike, Ken Thompson和Robert Griesemer開始設(shè)計一門全新的語言,這是Go語言的最初原型车吹。
2009年11月10日窄驹,Go語言以開放源代碼的方式向全球發(fā)布朝卒。
2011年3月16日,Go語言的第一個穩(wěn)定(stable)版本r56發(fā)布乐埠。
2012年3月28日抗斤,Go語言的第一個正式版本Go1發(fā)布。
2013年4月04日丈咐,Go語言的第一個Go 1.1beta1測試版發(fā)布伤疙。
2013年4月08日,Go語言的第二個Go 1.1beta2測試版發(fā)布辆影。
2013年5月02日徒像,Go語言Go 1.1RC1版發(fā)布。
2013年5月07日秸歧,Go語言Go 1.1RC2版發(fā)布厨姚。
2013年5月09日,Go語言Go 1.1RC3版發(fā)布键菱。 
2013年5月13日谬墙,Go語言Go 1.1正式版發(fā)布今布。
2013年9月20日,Go語言Go 1.2RC1版發(fā)布拭抬。
2013年12月1日部默,Go語言Go 1.2正式版發(fā)布。
2014年6月18日造虎,Go語言Go 1.3版發(fā)布傅蹂。
2014年12月10日,Go語言Go 1.4版發(fā)布算凿。
2015年8月19日份蝴,Go語言Go 1.5版發(fā)布,本次更新中移除了”最后殘余的C代碼”氓轰。
2016年2月17日婚夫,Go語言Go 1.6版發(fā)布。
2016年8月15日署鸡,Go語言Go 1.7版發(fā)布案糙。
2017年2月17日,Go語言Go 1.8版發(fā)布靴庆。
2017年8月24日时捌,Go語言Go 1.9版發(fā)布。
2018年2月16日炉抒,Go語言Go 1.10版發(fā)布奢讨。

Go作者

  • Go語言是UNIX作者、C語言作者端礼、谷歌V8引擎作者攜手打造的, 由谷歌公司2009年推出的一門高級編程言語禽笑。


跟著谷歌走吃喝啥都有


Go語言現(xiàn)狀

  • 多次獲得TIOBE年度最佳語言

  • 2018年Go語言一度超過Java, 進(jìn)入編程語言排行榜前三名.
    +

  • 從公司角度:

    • 許多大廠都已經(jīng)擁抱 Go 語言,包括阿里巴巴蛤奥、京東佳镜、今日頭條、小米凡桥、滴滴蟀伸、七牛云、360等明星公司, 也包括知乎缅刽、輕松籌啊掏、快手、探探衰猛、美圖迟蜜、獵豹移動等等。同時啡省,創(chuàng)業(yè)公司也很喜歡 Go 語言娜睛,主要因為其入門快髓霞、程序庫多、運行迅速畦戒,很適合快速構(gòu)建互聯(lián)網(wǎng)軟件產(chǎn)品方库。
  • 從業(yè)務(wù)維度:

    • Go 程序可以在裝有 Windows、Linux障斋、FreeBSD 等操作系統(tǒng)的服務(wù)器上運行纵潦,并用于提供基礎(chǔ)軟件支撐、API 服務(wù)垃环、Web 服務(wù)邀层、網(wǎng)頁服務(wù)等等。
    • 在云計算晴裹、微服務(wù)被济、大數(shù)據(jù)、區(qū)塊鏈涧团、物聯(lián)網(wǎng)等領(lǐng)域,Go 語言早已蓬勃發(fā)展. 除了語法簡單, 性能優(yōu)越以外, K8S底層架構(gòu)在云計算的領(lǐng)導(dǎo)地位(K8S就是Go開發(fā)的), 也讓這些各大公司不得不擁抱Go語言经磅。
    • 區(qū)塊鏈的崛起更進(jìn)一步帶動了Go工程師的需求,市面上大部分區(qū)塊鏈明星項目都是用Go開發(fā)的, 足以說明Go在分布式系統(tǒng)中的地位泌绣,這也就是為什么今年開始,大批金融公司開始招聘Go工程師的重要原因预厌。
  • 從薪資角度來看

    • 應(yīng)屆生普遍在4~8K, 1年左右普遍在10K左右, 2年~3年普遍在20K左右

Go語言應(yīng)用場景

  • 網(wǎng)絡(luò)編程阿迈,這一塊目前應(yīng)用最廣,包括Web應(yīng)用轧叽、API應(yīng)用苗沧、下載應(yīng)用、內(nèi)存數(shù)據(jù)庫等
  • 云平臺開發(fā)炭晒,目前國外很多云平臺在采用Go開
  • 服務(wù)器編程, 以前你如果使用Java或者C++做的那些事情待逞,都可以用Go來做
  • 分布式系統(tǒng),數(shù)據(jù)庫代理器等
  • 它可以做從底層到前端的任何工作

如何學(xué)習(xí)Go語言

  • Go語言被稱之為現(xiàn)代化的C語言, 所以無論是從語法特性, 還是作者本身, Go語言都與C語言有著莫大的關(guān)系, 所以學(xué)習(xí)本套課程之前如果你有C語言的基礎(chǔ), 那么將會事半功倍
  • 對于初學(xué)者而言, 學(xué)習(xí)編程的捷徑只有一條, 那就是多動手

竹子用了4年的時間网严, 僅僅長了3cm识樱, 從第五年開始, 以每天30cm的速度瘋狂地生長震束, 僅僅用了六周的時間就長到了15米怜庸。 其實,在前面的四年垢村, 竹子將根在土壤里延伸了數(shù)百平米割疾。 做人做事亦是如此, 不要擔(dān)心你此時此刻的付出得不到回報嘉栓, 因為這些付出都是為了扎根宏榕。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驰凛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子担扑,更是在濱河造成了極大的恐慌恰响,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涌献,死亡現(xiàn)場離奇詭異胚宦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)燕垃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門枢劝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卜壕,你說我怎么就攤上這事您旁。” “怎么了轴捎?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵鹤盒,是天一觀的道長。 經(jīng)常有香客問我侦副,道長侦锯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任秦驯,我火速辦了婚禮尺碰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘译隘。我一直安慰自己亲桥,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布固耘。 她就那樣靜靜地躺著题篷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玻驻。 梳的紋絲不亂的頭發(fā)上悼凑,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音璧瞬,去河邊找鬼户辫。 笑死,一個胖子當(dāng)著我的面吹牛嗤锉,可吹牛的內(nèi)容都是我干的渔欢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瘟忱,長吁一口氣:“原來是場噩夢啊……” “哼奥额!你這毒婦竟也來了苫幢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤垫挨,失蹤者是張志新(化名)和其女友劉穎韩肝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體九榔,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡哀峻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了哲泊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剩蟀。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖切威,靈堂內(nèi)的尸體忽然破棺而出育特,到底是詐尸還是另有隱情,我是刑警寧澤先朦,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布缰冤,位于F島的核電站,受9級特大地震影響烙无,放射性物質(zhì)發(fā)生泄漏锋谐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一截酷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乾戏,春花似錦迂苛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呐能,卻和暖如春念搬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摆出。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工朗徊, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人偎漫。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓爷恳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親象踊。 傳聞我的和親對象是個殘疾皇子温亲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355