Go語言開發環境配置

来源:http://www.cnblogs.com/kungfupanda/archive/2016/06/02/5551683.html
-Advertisement-
Play Games

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  在CODE上查看代碼片派生到我的代碼片
  1. 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  在CODE上查看代碼片派生到我的代碼片
  1. "env": {  
  2.     "GOROOT":"C:\\go",  
  3.         "GOPATH": "E:\\mygo"  
  4.         },  



 

三.編寫和運行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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 組件配置添加: common\components\XmlParser 然後就可以在控制器里直接取 xml格式適合微信公眾號開發。 ...
  • 1.將對象轉換為JSON字元串,返回值為一個JSON字元串 public static String toJson(Object value) { try { return mapper.writeValueAsString(value); } catch (Exception e) { e.pri ...
  • 來自http://blog.csdn.net/cctt_1/article/details/8639903 介面代碼: package myws; import javax.jws.WebParam; import javax.jws.WebService; /** * * @author 帳前卒 ...
  • 初學者 作為初學者,通常情況下,我們都會買一本PHP教材,或者在網上看免費教程,這當然是學習的好途徑。因為,這些書籍和網上的免費教程,基本上都是由淺入深的漸進式教學方式,基礎知識居多,高級知識占少量的部分。這樣,可以讓初學者很快的入門,並且建立信心。 我的唯一的一本PHP入門教材是【PHP與MySQ ...
  • 引言 對於 Python 來說,並不缺少併發選項,其標準庫中包括了對線程、進程和非同步 I/O 的支持。在許多情況下,通過創建諸如非同步、線程和子進程之類的高層模塊,Python 簡化了各種併發方法的使用。除了標準庫之外,還有一些第三方的解決方案,例如 Twisted、Stackless 和進程模塊。本 ...
  • Apache和IIS分別有自己的偽靜態操作方法,那在Servers2003_IIS需要給PHP程式使用偽靜態呢?安裝rewrite插件包。 一、下載rewrite插件包,一般裡面必須有httpd.ini和Rewrite.dll,如圖: 二、一般推薦將偽靜態包放至網站根目錄下,然後在需要偽靜態的網站右 ...
  • 編譯器到底做了什麼實現的虛函數的晚綁定呢?我們來探個究竟。 編譯器對每個包含虛函數的類創建一個表(稱為V TA B L E)。在V TA B L E中,編譯器放置特定類的虛函數地址。在每個帶有虛函數的類 中,編譯器秘密地置一指針,稱為v p o i n t e r(縮寫為V P T R),指向這個對 ...
  • 適用場合: 7.3 工廠模式的適用場合 創建新對象最簡單的辦法是使用new關鍵字和具體類。只有在某些場合下,創建和維護對象工廠所帶來的額外複雜性才是物有所值。本節概括了這些場合。 7.3.1 動態實現 如果需要像前面自行車的例子一樣,創建一些用不同方式實現同一介面的對象,那麼可以使用一個工廠方法或簡 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...