Go語言知識積累:windows開發環境搭建

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

Go語言知識積累:windows開發環境搭建

緣起看到一篇文章,講述如何將伺服器從30台降到2,效能甚至更加優秀。文章中介紹了完成這一出色任務的語言為Go,於是對Go語言產生了興趣,逐步瞭解到這還是一門比較新的語言,且潛力很足。所以展開了研究之旅

AD:2014WOT全球軟體技術峰會北京站 課程視頻發布

特點簡介:

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。修改內容如下:

 
  1. #nativecompilerwindows386 
  2. GOROOT=E:\go 
  3. GOBIN=E:\go\bin 
  4. GOARCH=386 
  5. GOOS=windows 
  6. CGO_ENABLED=1 
  7. PATH=%GOBIN%;%GOROOT%\bin;%PATH% 
  8. LITEIDE_GDB=gdb 
  9. LITEIDE_MAKE=mingw32-make 
  10. LITEIDE_TERM=%COMSPEC% 
  11. LITEIDE_TERMARGS= 
  12. LITEIDE_EXEC=%COMSPEC% 
  13. 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大神賜教~

PS: 我存在過,我遇見過,我失敗過。 有些路,明明有坑卻從沒人放警示牌。有些事,明明是錯的卻沒人去管。有些話,明明應該告訴後來人卻沒人去說。 既然沒人做,那就我來吧。希望我曾經曆過的挫折不再重現於後來人。希望傳承能夠不是只掛在嘴邊。希望人模人樣的“人”能夠真正做人。

原文連結:http://www.cnblogs.com/FlameRen/archive/2013/04/08/3007155.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.