緣起看到一篇文章,講述如何將伺服器從30台降到2,效能甚至更加優秀。文章中介紹了完成這一出色任務的語言為Go,於是對Go語言產生了興趣,逐步瞭解到這還是一門比較新的語言,且潛力很足。所以展開了研究之旅~
特點簡介:
1.引入輕量級線程——協程(coroutine),Go語言中叫goroutine。
2.採用Erlang風格的並行存取模型,即訊息是進程間唯一的通訊方式(而非共用記憶體)。兩個goroutine之間通訊通過channel(通道)進行。
3.對代碼風格進行了強制統一,比如public變數必須以大寫字母開頭,private變數必須以小寫字母開頭,從而省略了這兩個關鍵字。{}中{的書寫不能另起一行等。
4.defer關鍵字,不管程式是否異常,均在退出時執行的代碼。避免了大量try、catch語句。
5.函數允許返回多個值,且最後一個值問error類型,用於在錯誤的情況下返回詳細資料。
6.反對(不提供)函數和操作符的重載,不提供繼承、虛函數、虛函數重載。但是提供組合,也達到繼承的目的。
7.沒有建構函式和解構函式 ,提供介面,與其他語言最大的區別在於介面是非侵入性的。即實作類別無需從介面派生
8.支援匿名函數與閉包。
...繼續研究中
Windows下,開發環境的搭建:
IDE有兩種選擇,一個是國人開發的liteIDE,一個是給eclipse下載goclipse外掛程式。但是由於未知原因,我沒有調好eclipse中基於gocode的Go語言自動補齊功能。所以我選擇了liteIDE,下面介紹如何搭建liteIDE環境,eclipse的方法大家自己探索吧。歡迎分享經驗。
1.下載Go語言安裝包,進入下面的連結,選擇適合自己的安裝包進行下載(我用的go1.0.3.windows-386.msi),然後安裝即可,記錄下安裝後的根目錄以備配置使用。
:https://code.google.com/p/go/downloads/list
2.下載liteIDE,進入下面的連結,選擇適合自己的安裝包(我用的liteidex17.windows-webkit.7z),下載完成後解壓到任意目錄,然後進入根目錄下的bin檔案夾,雙擊liteide.exe即可開啟軟體。
:https://code.google.com/p/golangide/downloads/list
軟體介面如下:
3.配置liteIDE的資訊,第一次開啟此IDE時,需要配置相關資訊,才能正確使用。點擊【查看】→【選項】,開啟了選項頁面後在列表中選擇LiteEnv,:
4.針對你的系統,修改對應的檔案。我是32位系統,所以需要修改win32-user.env和win32.env。修改內容如下:
#nativecompilerwindows386
GOROOT=E:\go
GOBIN=E:\go\bin
GOARCH=386
GOOS=windows
CGO_ENABLED=1
PATH=%GOBIN%;%GOROOT%\bin;%PATH%
LITEIDE_GDB=gdb
LITEIDE_MAKE=mingw32-make
LITEIDE_TERM=%COMSPEC%
LITEIDE_TERMARGS=
LITEIDE_EXEC=%COMSPEC%
LITEIDE_EXECOPT=/C
其中GOROOT和GOBIN都是根據之前Go語言安裝時選定的目錄進行配置的。我安裝Go語言時選擇的路徑是E:\Go
5.配置GOPATH,點擊【查看】→【設定GOPATH】,在開啟的視窗中的自訂GOPATH處點擊瀏覽,選中你以後想存放Go工程的檔案夾,添加後選擇ok。:
6.關閉IDE,重新開啟後,在點擊【查看】→【工具視窗】→【Package瀏覽】,開啟了Package瀏覽後,如果能看到Go的目錄,則可以使用了。
懷著對先人的尊敬,我們來個HelloWorld之旅~
選擇起始頁的建立,在模板處選擇Go1 Command Project,起個名字,點擊ok。則自動產生了HelloWorld程式~
點擊編輯視窗上部的BR按鈕,即可運行程式,並在編譯輸出視窗得到輸出。
恩,現在就探索到這個階段。在Eclipse中裝goclipse外掛程式遇到種種問題,雖然最後成功安裝,但是沒有自動補齊功能。所以放棄了~
附一張liteIDE的自動補齊功能:
歡迎各路Go大神賜教~