緣起看到一篇文章,講述如何將服務器從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大神賜教~