您好,登錄后才能下訂單哦!
這篇文章主要為大家分享搭建go語言開發(fā)環(huán)境的方法。文中還介紹了搭建golang開發(fā)環(huán)境技巧和golang版本的選擇,希望大家通過這篇文章能有所收獲。
1.到golang下載地址下載對(duì)應(yīng)環(huán)境的安裝包或者源碼,若是Linux環(huán)境的話,將源碼包下載解壓之后,放至/usr/local/(實(shí)際上放至合適位置即可,只要把它添加進(jìn)PATH就行),如:
export PATH=$PATH:/usr/local/go/bin
2.配置GOPATH、GOROOT,這里可能需要解釋一下,對(duì)于新手來說,肯定不熟悉這兩個(gè)環(huán)境變量的意義。
GOROOT:golang的安裝目錄。
GOPATH:go的工作空間,在GOPATH下會(huì)有三個(gè)目錄:src,bin,pkg。
src:存放源碼(在不設(shè)置go mod的情況下,go get的包放至這里,你自己的項(xiàng)目源碼也可以放在這里);
bin:編譯后的可執(zhí)行文件放置的位置,如果在你項(xiàng)目go install,生成的可執(zhí)行文件會(huì)放在此處;
pkg:存放編譯時(shí)產(chǎn)生的文件(.a文件)并根據(jù)平臺(tái)進(jìn)行歸檔,比如,windows64下產(chǎn)生的文件放在windows_amd64目錄下,通常情況下,我們不會(huì)太關(guān)心這些文件。不過在go module包管理方式下,pkg目錄變得受人關(guān)注了, 依賴的第三方包被下載到了$GOPATH/pkg/mod路徑下,而不是src文件夾。
3.下載一個(gè)合適的IDE,我個(gè)人比較喜歡用Goland,選擇一個(gè)適合自己的IDE很重要,也有人喜歡vs code,這沒有關(guān)系,只要自己使用順手就行。
4.簡(jiǎn)單寫段代碼測(cè)試一下,go的安裝情況如何,在$GOPATH/src下創(chuàng)建一個(gè)目錄作為測(cè)試項(xiàng)目,創(chuàng)建一個(gè)main.go文件,代碼如下:
package main
import (
"fmt"
)
func main() {
fmt.Print("Hello world!")
}
接著在項(xiàng)目根目錄下go run main.go或者像我一樣在IDE里面直接點(diǎn)擊一下運(yùn)行按鈕即可。可以說搭建一個(gè)golang環(huán)境至此已經(jīng)結(jié)束,就這么簡(jiǎn)單?就這么簡(jiǎn)單,但還有其他事情可以繼續(xù)說下
有這樣一個(gè)場(chǎng)景:有個(gè)go項(xiàng)目,它的打包方式是make,但是我們想在Windows下編寫代碼,在Windows下正常情況下沒有make工具,而Linux有。當(dāng)然有人會(huì)提出,那就在Windows下安裝相應(yīng)的make工具就好了,的確如此,這樣就解決問題了。我接下來所要講的技巧權(quán)當(dāng)做一種另外的解題思路。
首先,安裝一個(gè)Linux虛擬機(jī),創(chuàng)建好之后設(shè)置共享目錄
在我的Windows系統(tǒng)的D盤下有一個(gè)share目錄,我將它共享到了虛擬機(jī)里面,并在Linux中為它創(chuàng)建了一個(gè)軟連接,這樣方便我查看和修改文件。share目錄下的go目錄即為我的GOPATH,我將虛擬機(jī)中的GOPATH設(shè)置成了同一個(gè)路徑,這樣子就可以在兩個(gè)系統(tǒng)中共享同一份下載的源碼。好了,現(xiàn)在我們可以在Windows下打代碼,在Linux下編譯了(有個(gè)Linux環(huán)境莫名的有安全感)。
能夠?qū)懸欢魏?jiǎn)單的打印“hello world”的代碼就證明你的開發(fā)環(huán)境搭建完畢了嗎?很多時(shí)候,初學(xué)者看到的其他golang入門文章到此就結(jié)束了,但我覺得還有些可以繼續(xù)進(jìn)步的地方。很多項(xiàng)目會(huì)用到mysql、reids等,下面我會(huì)用docker和docker-compose為我們的項(xiàng)目提供支持。我的操作思路是在虛擬機(jī)安裝docker和docker-compose,并安裝mysql等,然后將端口轉(zhuǎn)發(fā)出來。
① 在虛擬機(jī)中安裝docker和docker-compose;
② 將創(chuàng)建工作目錄,在該目錄下創(chuàng)建一個(gè)docker-compose.yaml,接著運(yùn)行如下:
version: '3'
services:
mysql:
container_name: mysql
image: mysql:5.6
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "123456"
MYSQL_ROOT_HOST: "%"
volumes:
- "./data:/var/lib/mysql" # 掛載數(shù)據(jù)目錄
- "./config:/etc/mysql/conf.d" # 掛載配置文件目錄
$ docker-compose up -d
③ 將對(duì)應(yīng)端口轉(zhuǎn)發(fā)出來:
④ 在Windows下用熟手的工具去操作,可以用navicat等工具,我個(gè)人比較喜歡都在IDE里執(zhí)行:
如此一來,我們就可以利用docker和docker-compose創(chuàng)建一些我們需要的組件,并且在Windows和Linux下都連接成功。這么做有一些好處,我們可以在Windows下盡情的編碼和測(cè)試,在Linux下去做編譯和打包工作。不過,我并沒有很詳細(xì)地將這其中的操作過程寫出來,這篇文章里主要提供一些思路,如有人有興趣,我以后會(huì)寫一篇跟工具有關(guān)的文章。
我在看官網(wǎng)的文檔時(shí),發(fā)現(xiàn)了一個(gè)有趣的東西,貌似平時(shí)沒有很多人去關(guān)注。
Installing extra Go versions
It may be useful to have multiple Go versions installed on the same machine, for example, to ensure that a package's tests pass on multiple Go versions. Once you have one Go version installed, you can install another (such as 1.10.7) as follows:
$ go get golang.org/dl/go1.10.7
$ go1.10.7 download
The newly downloaded version can be used like go
:
$ go1.10.7 version
go version go1.10.7 linux/amd64
All Go versions available via this method are listed on the download page. You can find where each of these extra Go versions is installed by looking at its
GOROOT
; for example,go1.10.7 env GOROOT
. To uninstall a downloaded version, just remove itsGOROOT
directory and thegoX.Y.Z
binary.
這段文本是在說你可以通過go get的方式去安裝其他的go版本,這種方式也比較簡(jiǎn)單。但應(yīng)該很少人會(huì)有這樣的需求了吧,因?yàn)橐话銇碇v,go的版本安裝最新的就行了,go的兼容做得很好,不會(huì)因?yàn)槟愕拇a是幾年之前寫的就運(yùn)行不起來。
看完這篇文章,你們學(xué)會(huì)搭建go語言開發(fā)環(huán)境的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。