#[喵咪Golang(1)]Go語言開篇#git
##前言##github
哈嘍你們好啊!喵咪我今天又來開坑了,最近學習和使用了go語言了一段時間,也在組合一些好的組件編寫phalgo開發框架.在想是否是能夠來寫一個套關於go語言的文章和一些好的組件的介紹使用,雖然本身也是半桶水可是我相信在編寫的過程當中能給本身不少收穫,最好也能幫助你們瞭解和熟悉golang這門語言,話很少說那麼就開始今天的go語言之旅吧~golang
附上:docker
喵了個咪的博客:w-blog.cn數據庫
phalgo地址:github.com/wenzhenxi/phalgo編程
Go語言聖經:docs.ruanjiadeng.com/gopl-zh緩存
##1. go語言的誕生安全
若是是計算機專業出生的童鞋都聽過貝爾實驗室一詞,這就是誕生著名的UNIX系統和C語言的地方,通過了40年在同一個地方Google工做的Ken Thompson和Rob Pike還有Robert Griesemer一同設計了Go語言,目的是爲了解決在21世紀多核和網絡化環境下愈來愈複雜的編程問題.網絡
Go語言是從Ken Thompson發明的B語言、Dennis M. Ritchie發明的C語言逐步演化過來的,是C語言家族的成員,所以不少人將Go語言稱爲21世紀的C語言。縱觀這幾年來的發展趨勢,Go語言已經成爲雲計算、雲存儲時代最重要的基礎編程語言。併發
就筆者玩了一段時間的感覺,go語言是C語言的衍生有C語言的特點,畢竟被稱爲21世紀的C語言,而且go也從一些現代語言中吸取了不少優秀的地方,好比C語言不具有的GC機制,接口機制,還有不少新的特性,並且在編譯時能夠大幅縮短期,相對於C++的十分之一
下圖展現了有哪些早期的編程語言對Go語言的設計產生了重要影響。
圖片引用:Go語言聖經
go語言至今版本歷史:
2007年,谷歌工程師Rob Pike, Ken Thompson和Robert Griesemer開始設計一門全新的語言,這是Go語言的最初原型。 2009年11月10日,Go語言以開放源代碼的方式向全球發佈。 2011年3月16日,Go語言的第一個穩定(stable)版本r56發佈。 2012年3月28日,Go語言的第一個正式版本Go1發佈。 2013年4月04日,Go語言的第一個Go 1.1beta1測試版發佈。 2013年4月08日,Go語言的第二個Go 1.1beta2測試版發佈。 2013年5月02日,Go語言Go 1.1RC1版發佈。 2013年5月07日,Go語言Go 1.1RC2版發佈。 2013年5月09日,Go語言Go 1.1RC3版發佈。 2013年5月13日,Go語言Go 1.1正式版發佈。 2013年9月20日,Go語言Go 1.2RC1版發佈。 2014年6月19日,Go語言Go 1.3版發佈。 2015年8月20日,Go語言Go 1.5版發佈,本次更新中移除了」最後殘餘的C代碼」。 2016年1月07日,Go語言Go 1.6版發佈, Go1.6開始全面支持 HTTP/2 大幅改善GC性能
go裏面有不少有意思的特性,筆者根據本身使用和收集了如下幾點:
更具以上特性,相信你們對go的也有了一個抽象的定位了
###Docker
到如今,Docker幾乎是Go再難找到也難以複製的一個成功案例。Docker項目在2014年9月份就拿到了C輪4000萬美圓融資,版本迭代速度超快,目前從GitHub看到已有78個版本,而它僅僅是再2013年初才正式開始的一個項目而已。
Docker團隊之因此喜歡用Go語言,主要是Go具備強大的標準庫、全開發環境、跨平臺構建的能力。
GitHub託管地址: https://github.com/docker/docker
###Lime
Revel是一個高生產力的Go語言Web框架。Revel框架支持熱編譯,當編輯、保存和刷新源碼時,Revel會自動編譯代碼和模板;全棧特性,支持路由、參數解析、緩存、測試、國際化等功能。
GitHub託管地址: https://github.com/revel/revel
###InfluxDB
一個Go語音編寫的開源分佈式的時序、事件和指標數據庫,無需外部依賴。其設計目標是實現分佈式和水平伸縮擴展。
GitHub託管地址: https://github.com/influxdb/influxdb
###Gogs
Gogs則是一款由國人無聞( GitHub)開發的自助Git服務項目。Gogs的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助Git服務。據做者稱,之因此選擇使用Go語言開發,就是Go容許Gogs能夠經過獨立的二進制分發,且對跨平臺有良好支持。
GitHub託管地址: https://github.com/gogits/gogs
##4. 總結##
咱們回顧一下咱們主要講解了go語言的歷史,它是一個什麼樣子的語言它的特性是怎麼樣的,有那些有名的開源項目,你們是否是對go語言充滿了期待,也充滿了疑惑呢,那麼就請你們帶着期待帶着疑惑的內心,來進入下一篇的GO語言-安裝與Helloworld篇吧!
注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!