http://blog.csdn.net/hil2000/article/details/41261267/ 一.我為什麼要學習go語言 當今已經是移動和雲計算時代,Go出現在了工業向雲計算轉型的時刻,簡單、高效、內 置併發原語和現代的標準庫讓Go語言尤其適合雲端軟體開發(畢竟它就是為此而設計的)。 ...
http://blog.csdn.net/hil2000/article/details/41261267/
一.我為什麼要學習go語言
當今已經是移動和雲計算時代,Go出現在了工業向雲計算轉型的時刻,簡單、高效、內 置併發原語和現代的標準庫讓Go語言尤其適合雲端軟體開發(畢竟它就是為此而設計的)。到2014年,Go項目擁有了上百的核心貢獻者,其生態圈中擁有了數不盡的第三方庫和工具(https://godoc.org/),更有很多大公司開始或遷移到go語言,一些重量級的開源雲項目,諸如Docker和Kubernetes 都是用Go語言實現的,一些運作基礎設置的公司,諸如Google、CloudFlare、Canonical、Digital Ocean、Github、Heroku以及微軟也都在使用Go語言開發一些重量級的項目。再來看看如下公司開源的go庫 (1)Facebook開源其go庫 https://github.com/facebookgo (2)Dropbox開源了其基於Go語言的工具庫godropbox,並表示在一年前已經決定將Dropbox中對性能要求比較高的後端程式從Python遷移到Go語言。Dropbox的幾乎所有的代碼都是用Python編寫的, Python語言被廣泛使用在伺服器端、桌面的客戶端、網站控制邏輯以及後端的 API 和分析上。Dropbox親睞Python簡單易學、開發效率高等特點,但是現在為了支撐日益增長的用戶數量,Dropbox不得不將部分對性能要求比較高的業務替換為有更好的併發支持和更快的運行速度的Go語言。 Go 目前已經發展到1.4版本,除了其新增的特性和bug修正外,它為實現一個新的低延遲垃圾收集器以及支持在移動終端上運行Go奠定了基礎。作為程式員我們必須在掌握精通一門語言的同時需要擴大視野,學習另外一種語言的設計思想和精髓,而我認為go再合適不過了!2015年將是Go語言大爆發的一年。
二.Go語言開發環境搭建
1.Go的安裝
(1)下載go安裝程式 下載地址:https://golang.org/dl/ (牆內下載地址http://www.golangtc.com/download),如果是您的系統是windows32 位系統,請選擇go1.3.3.windows-386.msi即可 (2)下載後直接雙擊msi文件安裝,預設安裝在c:\go (3)安裝完成後預設會在環境變數 Path 後添加 Go 安裝目錄下的 bin 目錄 C:\Go\bin\,並添加環境變數 GOROOT,值為 Go 安裝根目錄 C:\Go\ (4).驗證是否安裝成功,在運行中輸入 cmd 打開命令行工具,在提示符下輸入 go (5)設置工作空間gopath目錄(Go語言開發的項目路徑) Windows 設置如下,新建一個環境變數名稱叫做GOPATH,值為你的工作目錄,例如筆者的設置GOPATH=e:\mygo 以上 %GOPATH% 目錄約定有三個子目錄: src 存放源代碼(比如:.go .c .h .s等) pkg 編譯後生成的文件(比如:.a) bin 編譯後生成的可執行文件(為了方便,可以把此目錄加入到 windows的PATH 變數中,在環境變數path後追加%GOPATH%\bin) (6)用go env命令查看環境變數設置
2.IDE的選擇和設置
Go的開發ide目前有很多選擇,比如LiteIDE,Vim,Emcas,goEclipse等,這裡推薦Sublime Text 2(以下簡稱Sublime)+GoSublime+gocode組合
(1)下載安裝Sublime Text 2 http://www.sublimetext.com/ (2)安裝Package Control包管理工具 Ctrl + `(該鍵位tab鍵上方的~鍵)組合鍵打開Sublime2的命令行(註意輸入法模式是英文狀態),然後粘貼執行如下代碼
[python] view plain copy- import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation
然後重啟sublime,可以發現在在菜單欄多了一個如下的欄目,說明Package Control已經安裝成功了。
(3)安裝GoSublime插件 Ctrl+Shift+p打開Package Controll 輸入pcip(即“Package Control: Install Package”的縮寫),然後輸入GoSublime,按確定就開始安裝了。 (4)同上步(3)安裝Go Build (5)安裝gocode代碼自動提示 打開windows的命令行提示符程式,開始-》運行-》cmd運行如下代碼 go get -u github.com/nsf/gocode go install github.com/nsf/gocode 如果有錯誤提示,那麼要安裝git客戶端(windows git 下載地址 http://msysgit.github.io/ ,同時要在path環境變數後追加git配置 ;D:\Program Files\Git\bin;D:\Program Files\Git\libexec\git-core;)
(6)設置go非標準庫智能提示
最新版本的 gosublime 要求設置你的 GOPATH 變數到它的配置文件中,否則可能無法支持對非標準庫包的代碼輸入提示,打開 Settings - Default,拷貝所有內容,然後粘貼到 Settings - User 中(這樣的做法是為了保證你的修改不會被插件更新而重置,這插件更新很頻繁)。 接下來,在 env 這欄中輸入你的 GOPATH 變數,重啟設置生效。
[plain] view plain copy
- "env": {
- "GOROOT":"C:\\go",
- "GOPATH": "E:\\mygo"
- },
三.編寫和運行Go程式
1.用sublime在gopath/src目錄下新建一個程式hello.go,代碼如下
2.運行go程式 CTRL+B打開sublime的命令行,在提示符下輸入 go run hello.go
3.編譯生成exe程式 CTRL+B打開sublime的命令行,在提示符下輸入 go build hello.go
四 .go語言學習資料
1.go指南:官網鏈接:https://go-tour-zh.appspot.com/welcome/1(需要梯子),如果無法打開請用國內鏈接:http://tour.studygolang.com/
2.《the way to go》,如果看英文感覺吃力,github上無聞大牛已經做了中文譯本:https://github.com/Unknwon/the-way-to-go_ZH_CN
3.《Go 學習筆記 第三版》雨痕寫的,該電子書在github開源:https://github.com/qyuhen/book
4.《go web 編程》,是謝大(beego的作者)寫的電子書,github中文目錄鏈接:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
5.《go編程基礎》視頻教程,此教程是無聞大牛講解的,github視頻鏈接:https://github.com/Unknwon/go-fundamental-programming