欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語言安裝第三方庫,golang 第三方庫

如何學習GO語言?

Go語言也稱 Golang,兼具效率、性能、安全、健壯等特性。這套Go語言教程(Golang教程)通俗易懂,深入淺出,既適合沒有基礎(chǔ)的讀者快速入門,也適合工作多年的程序員查閱知識點。

公司主營業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出茂名免費做網(wǎng)站回饋大家。

Go 語言

這套教程在講解一些知識點時,將 Go 語言和其他多種語言進行對比,讓掌握其它編程語言的讀者能迅速理解 Go 語言的特性。Go語言從底層原生支持并發(fā),無須第三方庫、開發(fā)者的編程技巧和開發(fā)經(jīng)驗就可以輕松搞定。

Go語言(或 Golang)起源于 2007 年,并在 2009 年正式對外發(fā)布。Go 是非常年輕的一門語言,它的主要目標是“兼具 Python 等動態(tài)語言的開發(fā)速度和 C/C++ 等編譯型語言的性能與安全性”。

Go語言是編程語言設(shè)計的又一次嘗試,是對類C語言的重大改進,它不但能讓你訪問底層操作系統(tǒng),還提供了強大的網(wǎng)絡(luò)編程和并發(fā)編程支持。Go語言的用途眾多,可以進行網(wǎng)絡(luò)編程、系統(tǒng)編程、并發(fā)編程、分布式編程。

Go語言的推出,旨在不損失應(yīng)用程序性能的情況下降低代碼的復雜性,具有“部署簡單、并發(fā)性好、語言設(shè)計良好、執(zhí)行性能好”等優(yōu)勢,目前國內(nèi)諸多 IT 公司均已采用Go語言開發(fā)項目。Go語言有時候被描述為“C 類似語言”,或者是“21 世紀的C語言”。Go 從C語言繼承了相似的表達式語法、控制流結(jié)構(gòu)、基礎(chǔ)數(shù)據(jù)類型、調(diào)用參數(shù)傳值、指針等很多思想,還有C語言一直所看中的編譯后機器碼的運行效率以及和現(xiàn)有操作系統(tǒng)的無縫適配。

因為Go語言沒有類和繼承的概念,所以它和 Java 或 C++ 看起來并不相同。但是它通過接口(interface)的概念來實現(xiàn)多態(tài)性。Go語言有一個清晰易懂的輕量級類型系統(tǒng),在類型之間也沒有層級之說。因此可以說Go語言是一門混合型的語言。

此外,很多重要的開源項目都是使用Go語言開發(fā)的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。Go 是編譯型語言,Go 使用編譯器來編譯代碼。編譯器將源代碼編譯成二進制(或字節(jié)碼)格式;在編譯代碼時,編譯器檢查錯誤、優(yōu)化性能并輸出可在不同平臺上運行的二進制文件。要創(chuàng)建并運行 Go 程序,程序員必須執(zhí)行如下步驟。

使用文本編輯器創(chuàng)建 Go 程序;

保存文件;編譯程序;運行編譯得到的可執(zhí)行文件。

這不同于 Python、Ruby 和 JavaScript 等語言,它們不包含編譯步驟。Go 自帶了編譯器,因此無須單獨安裝編譯器。

鏈喬教育在線旗下學碩創(chuàng)新區(qū)塊鏈技術(shù)工作站是中國教育部學校規(guī)劃建設(shè)發(fā)展中心開展的“智慧學習工場2020-學碩創(chuàng)新工作站 ”唯一獲準的“區(qū)塊鏈技術(shù)專業(yè)”試點工作站。專業(yè)站立足為學生提供多樣化成長路徑,推進專業(yè)學位研究生產(chǎn)學研結(jié)合培養(yǎng)模式改革,構(gòu)建應(yīng)用型、復合型人才培養(yǎng)體系。

手動安裝 Go 第三方庫

自動安裝第三方庫,

但是有時不能自動安裝,比如沒有 github 賬號,這時可以選擇手動安裝,以 goquery 為例。

這樣就可以正常使用了。

如何引用第三方 resty 庫

和大部分知名開源軟件誕生在歐美國家不同,OpenResty自身和依賴的主要組件都是金磚國家的開發(fā)者發(fā)明的,這點還挺有意思。

Nginx是俄羅斯人發(fā)明的,Lua是巴西幾個教授發(fā)明的,中國人章亦春把LuaJITVM嵌入到Nginx中,實現(xiàn)了OpenResty這個高性能服務(wù)端解決方案。

通過OpenResty,你可以把nginx的各種功能進行自由拼接,更重要的是,開發(fā)門檻并不高,這一切都是用強大輕巧的Lua語言來操控。

它主要的使用場景主要是:

在Lua中揉和和處理各種不同的nginx上游輸出(Proxy,Postgres,Redis,Memcached等)

在請求真正到達上游服務(wù)之前,Lua可以隨心所欲的做復雜的訪問控制和安全檢測

隨心所欲的操控響應(yīng)頭里面的信息

從外部存儲服務(wù)(比如Redis,Memcached,MySQL,Postgres)中獲取后端信息,并用這些信息來實時選擇哪一個后端來完成業(yè)務(wù)訪問

在內(nèi)容handler中隨意編寫復雜的Web應(yīng)用,使用同步但依然非阻塞的方式,訪問后端數(shù)據(jù)庫和其他存儲

在rewrite階段,通過Lua完成非常復雜的URLdispatch

用Lua可以為nginx子請求和任意location,實現(xiàn)高級緩存機制

組織OpenResty技術(shù)大會之前,我一直認為自己是一個孤獨的OpenResty使用者,覺得自己在使用一個冷門的技術(shù)。

雖然大家都聽說過OpenResty或者ngx_lua,但感覺用在生產(chǎn)環(huán)境中使用的卻少之又少,除了幾個CDN公司外,好像沒有聽說過哪家知名互聯(lián)網(wǎng)公司在使用。而CDN行業(yè)之所以使用,很多是受到cloudflare技術(shù)棧的影響,OpenResty的作者也在國外這家CDN公司。

但辦完這個大會,我發(fā)現(xiàn)使用者真的挺多,奇虎360的所有服務(wù)端團隊都在使用,京東、百度、魅族、知乎、優(yōu)酷、新浪這些互聯(lián)網(wǎng)公司都在使用。有用來寫WAF、有做CDN調(diào)度、有做廣告系統(tǒng)、消息推送系統(tǒng),還有像我們部門一樣,用作APIserver的。有些還用在非常關(guān)鍵的業(yè)務(wù)上,比如開濤在高可用架構(gòu)分享的京東商品詳情頁,是我知道的ngx_lua最大規(guī)模的應(yīng)用。

2.奇虎企業(yè)安全服務(wù)端技術(shù)選型的標準

先說下3年多前做架構(gòu)選型的時候,我為什么會選擇OpenResty?

其實架構(gòu)如何設(shè)計并不重要,因為每家公司,每個團隊,他們的公司文化和技術(shù)背景各不相同,生搬硬套會適得其反。重要的是當初為什么這么選擇,中途為什么調(diào)整。

我們的產(chǎn)品要求單機上面,服務(wù)端提供高性能的API接口,QPS至少過萬,未來需要支撐到10萬。我們并沒有急于去使用PHP、Python或者其他的語言來實現(xiàn)功能,而是先勾勒出一個理想化的技術(shù)模型。

這個模型應(yīng)該具備:

非阻塞的訪問網(wǎng)絡(luò)IO。在連接MySQL、Redis和發(fā)起HTTP請求時,工作進程不能傻傻的等待網(wǎng)絡(luò)IO的返回,而是需要支持事件驅(qū)動,用協(xié)程的方式讓CPU資源更有效的去處理其他請求。很多語言并不具備這樣的能力和周邊庫。

有完備的緩存機制。不僅需要支持Redis、Memcached等外部緩存,也應(yīng)該在自己的進程內(nèi)有緩存系統(tǒng)。我們希望大部分的請求都能在一個進程中得到數(shù)據(jù)并返回,這樣是最高效的方法,一旦有了網(wǎng)絡(luò)IO和進程間的交互,性能就會受到很大影響。

同步的寫代碼邏輯,不要讓開發(fā)者感知到回調(diào)和異步。這個也很重要,程序員也是人,代碼應(yīng)該更符合人的思維習慣,顯式的回調(diào)和異步關(guān)鍵字,會打斷思路,也給調(diào)試帶來困難。

最好是站在巨人肩上,基于成熟的技術(shù)上搭建。采用一門全新誕生的語言和技術(shù),需要經(jīng)歷語言自身發(fā)展期頻繁調(diào)整的陣痛,還可能站錯隊。

不僅支持Linux平臺,還需要支持Windows平臺,這個是我們產(chǎn)品很特別的需求,很多中小企業(yè)用戶還是習慣Windows的操作,不具備Linux的維護能力。

基于以上幾點的考慮,考察了當時的一些方案,選擇了OpenResty。

首先,它最大的特點就是用同步的代碼邏輯實現(xiàn)非阻塞的調(diào)用,其次它有單進程內(nèi)的LRUcache和進程間的shareDICTcache,而且它是揉合nginx和LuaJIT而產(chǎn)生的。而且nginx有Windows版本,雖然有非常多的限制,但這些限制都是可以解決的,nginx官方Windows版本中不支持的特性,我們開源出來的版本都解決了。

第一次看到這樣的方案,我覺得它肯定會顛覆高性能服務(wù)端的開發(fā)。為什么呢?在我之前的公司里,每天會有近百億次的查詢請求,而服務(wù)器只用了十臺。

我們采用了nginxC模塊+內(nèi)置在nginx中的K-V數(shù)據(jù)庫(自己開發(fā)的),來實現(xiàn)所有的業(yè)務(wù)邏輯,達到這個目標。聽上去很簡單,但是過程非常艱辛,兩三個十幾年工作經(jīng)驗的大牛做了一年多才穩(wěn)定下來。絕大部分開發(fā)能力不足,只能望塵莫及。而且后續(xù)的調(diào)試和維護,也會花費不少精力。

但是OpenResty的出現(xiàn)改變了這一切,OpenResty非常的pythonic,適合人類的正常思維。新手經(jīng)過一兩個月的學習,做出來的API,就可以達到nginxC模塊的性能,而且代碼量大大減少,也方便調(diào)試。

3.以奇虎和新浪為例,如何在項目中引入新技術(shù)

技術(shù)選型只是第一步,如何才能在一個產(chǎn)品或者項目中引入OpenResty這個新的技術(shù)呢?我拿奇虎企業(yè)安全和新浪移動這兩家公司真實發(fā)生的案例給大家看看。我和新浪移動的周晶,都是在一個有成熟產(chǎn)品的部門,用一兩個人的力量,把一個新技術(shù),替換掉了原有的技術(shù)架構(gòu)。但由于企業(yè)產(chǎn)品和個人產(chǎn)品的不同,方法有很大的不一樣。

先說我所在奇虎企業(yè)安全。我在2012年初加入這個部門,當時產(chǎn)品主打免費,目標用戶是小企業(yè)。所以架構(gòu)設(shè)計上面,只考慮了幾十點、幾百點的終端請求,使用了非常強綁定的Windows平臺技術(shù),而且傾向于不用開源軟件,自己新做一個更適合自己的框架。包括自己用C++開發(fā)的Webserver,自己寫的PHP路由和框架,數(shù)據(jù)存儲在sqlite里面。

我?guī)兔π薷牧藘蓚€月PHP的bug,看明白了技術(shù)架構(gòu)的思路之后,就去新開的一個產(chǎn)品線了。這是一個實驗性的產(chǎn)品,主要面對央企和專用網(wǎng),一個網(wǎng)絡(luò)中有上百萬的終端。

剛開始沒有什么人關(guān)注,我就直接采用了Linux+OpenResty+Redis+Postgres的開源組件,性能測試甩之前的N條街。后面這個實驗性的產(chǎn)品,和之前的產(chǎn)品,合并為一個產(chǎn)品,技術(shù)上面就割裂為兩套架構(gòu)。老功能用老架構(gòu),新功能用新架構(gòu)。

隨著越來越多大用戶的增加,原有的技術(shù)架構(gòu)開始捉襟見肘,技術(shù)債務(wù)越積壓越多。隨著用戶的抱怨,sqlite被拋棄,全面換成Postgres。但對于自己開發(fā)的框架還是有些敝帚自珍。

期間通過對比測試、OpenResty培訓還有多次用戶性能問題排查,讓開發(fā)同學們都知道這門技術(shù)的優(yōu)勢。快被加班壓垮的開發(fā)同學,逐漸開始選擇使用OpenResty而不是自研的框架,來進行新功能的開發(fā),以及舊功能的遷移,來避免加班。

在產(chǎn)品重構(gòu)的時候,之前自研的服務(wù)端框架被完全拋棄,服務(wù)端開發(fā)的同學從8、9個人減少到3個人。在新技術(shù)的引入過程中,我們沒有采用強制的舉措,因為企業(yè)產(chǎn)品需要穩(wěn)定,用戶處部署的版本更新很慢。

而新浪移動周晶的實踐,對大家更有參考意義。新浪移動最開始是基于Apache,用PHP來處理用戶請求。Apache是同步多進程模型,在并發(fā)請求不多的情況下沒有問題。

但是總是會有突發(fā)新聞,比如馬航失聯(lián)、文章出軌等,突發(fā)的高流量把后臺壓垮了幾次。而且可以預(yù)見世界杯的流量也會很大,所以周晶花幾個月時間,用nginx替換了Apache,使用nginx的fast_cgi_cache,QPS提升了一個數(shù)量級。

新浪移動后臺的接口都是使用PHP來實現(xiàn)的,在高并發(fā)下有些力不從心。而nginx簡單的緩存雖然能滿足性能,但不能滿足業(yè)務(wù)精細化和數(shù)據(jù)一致性的要求,需要找PHP之外的解決方案,前提是讓PHP的開發(fā)能夠舒適的使用。node.js的回調(diào)地獄、Go的調(diào)試不方便,都是一個阻礙。

他們最后選擇了OpenResty,而且基于OpenResty開源了一個Web框架Vanilla(香草),模仿了Yaf的使用習慣,讓PHP的開發(fā)更容易接受和上手。Vanilla已經(jīng)在新浪移動開始使用,一些核心業(yè)務(wù),比如高清圖和體育直播,正在向這個框架遷移中。

4.入門痛點,以及學習的正確方法

我和周晶的入門,都是自己摸著石頭過河。當時除了Python社區(qū)「大媽」的那篇使用文章外,找不到其他的資料。

奇虎和新浪都用OpenResty成功替換了之前的技術(shù),但問題還是挺明顯,就是大家都認為自己是孤獨的使用者,同事中基本沒有人認同。在關(guān)鍵和支撐業(yè)務(wù)上,使用OpenResty有些不放心,都會在邊緣業(yè)務(wù)上先做嘗試和驗證。

雖然OpenResty的性能做的很棒,比肩或者超過其他所有的高性能解決方案,但是擔心沒有學習資料、擔心招不到人、擔心沒人交流,可能還擔心作者章亦春哪天撂挑子不干了,這個項目就黃了。

高可用架構(gòu)群里的各位都是架構(gòu)師,是技術(shù)決策者,在引入一門新技術(shù)的時候,肯定會考慮到這些風險。比如小米科技馬利超在高可用架構(gòu)的分享,他們在搶購系統(tǒng)中曾經(jīng)使用過ngx_lua,雖然性能滿足需求,但是團隊里面熟悉的人少,最后還是改成了Go語言實現(xiàn)。

如何解決這些擔憂?社區(qū)是有過思考和討論的,我們放在分享最后講。先從一個嘗試使用這門技術(shù)的開發(fā)者的角度看,OpenResty不少基礎(chǔ)工作沒有完善,友好程度不夠:

只能從源碼安裝,沒有apt-get、brew等軟件倉庫安裝方法;安裝第三方庫沒有PIP、NPM之類的包管理工具,需要去先谷歌,然后拷貝代碼文件到指定的目錄下,才能require使用。

代碼編寫需要修改nginx.conf和對應(yīng)的lua代碼,即使是helloworld也是如此。當然你可以把代碼寫在nginx的配置文件里面,但是生產(chǎn)環(huán)境肯定是要分離的。這種編寫代碼的方式,不像是一個編程語言,和常規(guī)的編程方式不同。

有獨特的執(zhí)行階段概念,因為OpenResty是基于nginx的,所以也繼承它的這種概念。你的代碼邏輯,可能需要放在不同的階段里面運行,才能獲取你想要的預(yù)期。而這些階段間信息如何傳遞,以及哪些API不能在某些階段使用,就會經(jīng)常攔住新手。

遇到問題只有郵件列表這一種方式來溝通,而郵件列表是被墻的。文檔也只有英文版本,導致很多新手的問題無法被解決。

沒有系統(tǒng)學習OpenResty的手段,大都是業(yè)務(wù)需要實現(xiàn)什么功能,就去文檔和API里面去找。至于方式對不對,能不能優(yōu)化,就不知道了。

如何在linux上安裝go語言

1.1 Go 安裝

Go的三種安裝方式

Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式:

Go源碼安裝:這是一種標準的軟件安裝方式。對于經(jīng)常使用Unix類系統(tǒng)的用戶,尤其對于開發(fā)者來說,從源碼安裝可以自己定制。

Go標準包安裝:Go提供了方便的安裝包,支持Windows、Linux、Mac等系統(tǒng)。這種方式適合快速安裝,可根據(jù)自己的系統(tǒng)位數(shù)下載好相應(yīng)的安裝包,一路next就可以輕松安裝了。**推薦這種方式**

第三方工具安裝:目前有很多方便的第三方軟件包工具,例如Ubuntu的apt-get、Mac的homebrew等。這種安裝方式適合那些熟悉相應(yīng)系統(tǒng)的用戶。

最后,如果你想在同一個系統(tǒng)中安裝多個版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎么處理。

Go源碼安裝

在Go的源代碼中,有些部分是用Plan 9 C和ATT匯編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。

在Mac系統(tǒng)中,只要你安裝了Xcode,就已經(jīng)包含了相應(yīng)的編譯工具。

在類Unix系統(tǒng)中,需要安裝gcc等工具。例如Ubuntu系統(tǒng)可通過在終端中執(zhí)行sudo apt-get install gcc

libc6-dev來安裝編譯工具。

在Windows系統(tǒng)中,你需要安裝MinGW,然后通過MinGW安裝gcc,并設(shè)置相應(yīng)的環(huán)境變量。

你可以直接去官網(wǎng)下載源碼,找相應(yīng)的goVERSION.src.tar.gz的文件下載,下載之后解壓縮到$HOME目錄,執(zhí)行如下代碼:

cd go/src

./all.bash

運行all.bash后出現(xiàn)"ALL TESTS PASSED"字樣時才算安裝成功。

上面是Unix風格的命令,Windows下的安裝方式類似,只不過是運行all.bat,調(diào)用的編譯器是MinGW的gcc。

如果是Mac或者Unix用戶需要設(shè)置幾個環(huán)境變量,如果想重啟之后也能生效的話把下面的命令寫到.bashrc或者.zshrc里面,

export GOPATH=$HOME/gopath

export PATH=$PATH:$HOME/go/bin:$GOPATH/bin

如果你是寫入文件的,記得執(zhí)行bash .bashrc或者bash

.zshrc使得設(shè)置立馬生效。

如果是window系統(tǒng),就需要設(shè)置環(huán)境變量,在path里面增加相應(yīng)的go所在的目錄,設(shè)置gopath變量。

當你設(shè)置完畢之后在命令行里面輸入go,看到如下圖片即說明你已經(jīng)安裝成功

圖1.1 源碼安裝之后執(zhí)行Go命令的圖

如果出現(xiàn)Go的Usage信息,那么說明Go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了Go的安裝目錄。

關(guān)于上面的GOPATH將在下面小節(jié)詳細講解

Go標準包安裝

Go提供了每個平臺打好包的一鍵安裝,這些包默認會安裝到如下目錄:/usr/local/go

(Windows系統(tǒng):c:\Go),當然你可以改變他們的安裝位置,但是改變之后你必須在你的環(huán)境變量中設(shè)置如下信息:

export GOROOT=$HOME/go

export GOPATH=$HOME/gopath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

上面這些命令對于Mac和Unix用戶來說最好是寫入.bashrc或者.zshrc文件,對于windows用戶來說當然是寫入環(huán)境變量。

如何判斷自己的操作系統(tǒng)是32位還是64位?

我們接下來的Go安裝需要判斷操作系統(tǒng)的位數(shù),所以這小節(jié)我們先確定自己的系統(tǒng)類型。

Windows系統(tǒng)用戶請按Win+R運行cmd,輸入systeminfo后回車,稍等片刻,會出現(xiàn)一些系統(tǒng)信息。在“系統(tǒng)類型”一行中,若顯示“x64-based

PC”,即為64位系統(tǒng);若顯示“X86-based PC”,則為32位系統(tǒng)。

Mac系統(tǒng)用戶建議直接使用64位的,因為Go所支持的Mac OS X版本已經(jīng)不支持純32位處理器了。

Linux系統(tǒng)用戶可通過在Terminal中執(zhí)行命令arch(即uname

-m)來查看系統(tǒng)信息:

64位系統(tǒng)顯示

x86_64

32位系統(tǒng)顯示

i386

Mac 安裝

訪問下載地址,32位系統(tǒng)下載go1.4.2.darwin-386-osx10.8.pkg,64位系統(tǒng)下載go1.4.2.darwin-amd64-osx10.8.pkg,雙擊下載文件,一路默認安裝點擊下一步,這個時候go已經(jīng)安裝到你的系統(tǒng)中,默認已經(jīng)在PATH中增加了相應(yīng)的~/go/bin,這個時候打開終端,輸入go

看到類似上面源碼安裝成功的圖片說明已經(jīng)安裝成功

如果出現(xiàn)go的Usage信息,那么說明go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了go的安裝目錄。

Linux 安裝

訪問下載地址,32位系統(tǒng)下載go1.4.2.linux-386.tar.gz,64位系統(tǒng)下載go1.4.2.linux-amd64.tar.gz,

假定你想要安裝Go的目錄為 $GO_INSTALL_DIR,后面替換為相應(yīng)的目錄路徑。

解壓縮tar.gz包到安裝目錄下:tar zxvf go1.4.2.linux-amd64.tar.gz -C

$GO_INSTALL_DIR。

設(shè)置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin

然后執(zhí)行g(shù)o

圖1.2 Linux系統(tǒng)下安裝成功之后執(zhí)行g(shù)o顯示的信息

如果出現(xiàn)go的Usage信息,那么說明go已經(jīng)安裝成功了;如果出現(xiàn)該命令不存在,那么可以檢查一下自己的PATH環(huán)境變中是否包含了go的安裝目錄。

Windows 安裝

訪問Google Code 下載頁,32

位請選擇名稱中包含 windows-386 的 msi 安裝包,64 位請選擇名稱中包含 windows-amd64 的。下載好后運行,不要修改默認安裝目錄

C:\Go\,若安裝到其他位置會導致不能執(zhí)行自己所編寫的 Go 代碼。安裝完成后默認會在環(huán)境變量 Path 后添加 Go 安裝目錄下的 bin 目錄

C:\Go\bin\,并添加環(huán)境變量 GOROOT,值為 Go 安裝根目錄 C:\Go\ 。

驗證是否安裝成功

在運行中輸入 cmd 打開命令行工具,在提示符下輸入 go,檢查是否能看到 Usage 信息。輸入

cd %GOROOT%,看是否能進入 Go 安裝目錄。若都成功,說明安裝成功。

不能的話請檢查上述環(huán)境變量 Path 和 GOROOT 的值。若不存在請卸載后重新安裝,存在請重啟計算機后重試以上步驟。

第三方工具安裝

GVM

gvm是第三方開發(fā)的Go多版本管理工具,類似ruby里面的rvm工具。使用起來相當?shù)姆奖悖惭bgvm使用如下命令:

bash (curl -s -S -L )

安裝完成后我們就可以安裝go了:

gvm install go1.4.2

gvm use go1.4.2

也可以使用下面的命令,省去每次調(diào)用gvm use的麻煩: gvm use go1.4.2 --default

執(zhí)行完上面的命令之后GOPATH、GOROOT等環(huán)境變量會自動設(shè)置好,這樣就可以直接使用了。

apt-get

Ubuntu是目前使用最多的Linux桌面系統(tǒng),使用apt-get命令來管理軟件包,我們可以通過下面的命令來安裝Go,為了以后方便,應(yīng)該把

git mercurial 也安裝上:

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:gophers/go

sudo apt-get update

sudo apt-get install golang-stable git-core mercurial

homebrew

homebrew是Mac系統(tǒng)下面目前使用最多的管理軟件的工具,目前已支持Go,可以通過命令直接安裝Go,為了以后方便,應(yīng)該把

git mercurial 也安裝上:

brew update brew upgrade

brew install go

brew install git

brew install mercurial

如何安裝Go語言安裝包

go語言作為google的一個主推語言,最近很多人都在研究,也花了一點時間對他的安裝進行了測試,本人使用Sublime Text 2 + GoSublime + gocode

顧名思義首先是安裝Go,這里有很詳細的安裝說明, 或者(golang.org自己去找hosts),官方已經(jīng)支持Windows版本

下載解壓配置環(huán)境變量

“環(huán)境變量”(我的電腦-高級系統(tǒng)設(shè)置-環(huán)境變量),在系統(tǒng)變量的標簽下,依次新建編輯如下幾個鍵值對:

(1). 新建 變量名:GOBIN 變量值 :c:\go\bin

(2). 新建 變量名:GOARCH 變量值:386

(3). 新建 變量名:GOOS 變量值:windows

(4). 新建 變量名: GOROOT 變量值:c:\go

(5). 編輯 Path 在Path的變量值的最后加上 %GOBIN%

1. 下載 Sublime Text 2,地址如下:

2. 解壓以后,雙擊 sublime_text,就可以使用 Sublime Text 2 了。

破解:

用 WinHex 編輯 sublime_text_backup.exe 文件, 跳到 000CBB70 那一行,將該行的 8A C3 修改為 B0 01 然后保存

破解注冊成功

3. 安裝 Package Control,在打開 Sublime Text 2以后,按下快捷鍵 Ctrl + `,打開命令窗行(具體在view——show Console),并回車:

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(‘’+pf.replace(‘ ‘,’%20′)).read()); print ‘Please restart Sublime Text to finish installation’

4. 重啟Sublime Text 2后,就可以發(fā)現(xiàn)在 Preferences菜單下,多出一個菜單項 Package Control。

5.現(xiàn)在安裝GoSublime插件了,按住Ctrl+Shilft+p會彈出一個對話框輸入install回車彈出一個安裝包的對話框

同上輸入GoSublime選擇GoSublime回車

本機已經(jīng)安裝所以沒有出現(xiàn)選項,輸入Go build選中回車(這個屬于可選)

到此GoSublime安裝成功

6.下面安裝gocode,

首安裝 Git-1.7.11-preview20120710。

打開控制臺,輸入以下內(nèi)容:

go get github.com/nsf/gocode

go install github.com/nsf/gocode

go get github.com/DisposaBoy/MarGo

go install github.com/DisposaBoy/MarGo

也可以去github下載(要安裝google的git版本管理工具)

安裝完成后,我們可以在 go/bin 目錄下,發(fā)現(xiàn)多出了個 gocode 文件。(一定要放在bin目錄下)

7. 修改GoSublime配置:在 Preferences菜單下,找到Package Settings,然后找到 GoSublime,再往下找到 Settings – Default。再打開的文件中,添加如下配置,并保存:

"env": {"path":"c:/go/bin;" },

好了,到目前為止,開發(fā)環(huán)境搭建完成。

下面可以自由編程了。呵呵。

按下快捷鍵 Ctrl + b 界面下方會出現(xiàn)如下界面:

好了,到現(xiàn)在,開發(fā)環(huán)境就搭建完畢了。

如下是內(nèi)容我這邊沒有使用照樣可以使用:

sublime Text 2 編譯配置設(shè)置方法

tools-build system-new build system 新建一個配置文件 設(shè)置為

{

“cmd”: ["go", "run", "$file_name"],

“file_regex”: “^[ ]*File \”(…*?)\”, line ([0-9]*)”,

“working_dir”: “$file_path”,

“selector”: “source.go”

}

然后就可以用ctrl+b 編譯了

保存

網(wǎng)站題目:go語言安裝第三方庫,golang 第三方庫
文章位置:http://chinadenli.net/article32/hcjepc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)標簽優(yōu)化網(wǎng)站排名網(wǎng)站制作網(wǎng)站改版定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管