5分鐘搭建Golang開(kāi)發(fā)環(huán)境(windows)

1.下載Golang

訪問(wèn)https://golang.google.cn/乎折,進(jìn)入下載頁(yè),建議下載Archive類(lèi)型的文件姐帚,直接解壓就可以使用,避免了通過(guò)Installer安裝時(shí)會(huì)在系統(tǒng)上一些不明確的位置放置文件。以windows環(huán)境為例霉晕,找到go1.15.6.windows-amd64.zip下載即可。

2.配置環(huán)境變量

下載完成后捞奕,將文件解壓縮到指定位置牺堰,如我本人解壓后的目錄為D:\go\go1.15.6,接下來(lái)配置系統(tǒng)環(huán)境變量颅围。編輯環(huán)境變量中的Path伟葫,添加D:\go\go1.15.6\bin,其它不需要任何設(shè)置院促,不要迷信一些比較陳舊的文章里提到的GOROOT和GOPATH兩個(gè)環(huán)境變量的設(shè)置筏养,每種編程語(yǔ)言在版本更新時(shí)都會(huì)改善一些內(nèi)容。

打開(kāi)終端常拓,在命令行輸入go version渐溶,會(huì)看到以下內(nèi)容,說(shuō)明環(huán)境變量已經(jīng)配置完成弄抬。

PS C:\Users\win10> go version
go version go1.15.6 windows/amd64

3.設(shè)置go env

在設(shè)置go env之前茎辐,首先可以執(zhí)行g(shù)o env命令查設(shè)置好環(huán)境變量后看所有默認(rèn)的環(huán)境變量值。

其中要修改的有GO111MODULE掂恕、GOPROXY兩項(xiàng)拖陆,其中GOPROXY主要方便一些網(wǎng)絡(luò)不好的地區(qū)和用戶下載依賴。

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct

設(shè)置完成后懊亡,再次查看go env依啰,完整的內(nèi)容如下

PS C:\Users\win10> go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\win10\AppData\Local\go-build
set GOENV=C:\Users\win10\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\win10\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\win10\go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct
set GOROOT=D:\go\go1.15.6
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\go\go1.15.6\pkg\tool\windows_amd64
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\win10\AppData\Local\Temp\go-build894675834=/tmp/go-build -gno-record-gcc-switches

另外可以使用go help env查看更多與env有關(guān)的說(shuō)明

4.使用go mod初始化module

在較舊的golang中,所有的項(xiàng)目源碼必須存放在GOPATH的src目錄下店枣,才能正確地加載依賴孔飒,這是非常反人類(lèi)的設(shè)計(jì)灌闺,好在目前版本中已經(jīng)使用了go mod來(lái)管理依賴。go mod可以理解為Java領(lǐng)域的Maven坏瞄、Gradle桂对,Python領(lǐng)域的pip。如果golang能夠出現(xiàn)類(lèi)似virtualenv鸠匀、pipenv這樣的虛擬環(huán)境管理工具那就更完美了蕉斜,這樣本地環(huán)境永遠(yuǎn)是干凈的,各個(gè)項(xiàng)目之間也減少了依賴的module版本沖突的可能性缀棍。

首先創(chuàng)建了一個(gè)test的目錄宅此,在命令行進(jìn)入到此目錄下運(yùn)行g(shù)o mod init,會(huì)出現(xiàn)以下提示爬范,需要在init命令后添加需要初始化的module名稱父腕。另外,從提示中我們可以看出青瀑,使用mo mod管理的項(xiàng)目璧亮,是與GOPATH無(wú)關(guān)的。

$ go mod init
go: cannot determine module path for source directory E:\test (outside GOPATH, module path must be specified)

Example usage:
        'go mod init example.com/m' to initialize a v0 or v1 module
        'go mod init example.com/m/v2' to initialize a v2 module

那么根據(jù)提示斥难,重新執(zhí)行g(shù)o mod

PS E:\test> go mod init test
go: creating new go.mod: module test

執(zhí)行成功后枝嘶,test目錄下會(huì)生成一個(gè)go.mod的文件,內(nèi)容如下

PS E:\test> cat .\go.mod
module test

go 1.15

到這里哑诊,Golang的安裝和配置就已經(jīng)完成了群扶,并且使用了go mod初始化了一個(gè)test的項(xiàng)目(module)。

5.安裝及配置vscode

上面的過(guò)程我們已經(jīng)準(zhǔn)備好了基本的環(huán)境镀裤,但正式開(kāi)始golang項(xiàng)目開(kāi)發(fā)竞阐,還需要一個(gè)IDE,這里推薦vscode暑劝。

首先下載并安裝vscode骆莹,過(guò)程省略。

安裝完成以后铃岔,安裝go語(yǔ)言插件汪疮,下載第一個(gè)就可以了。

安裝完插件以后毁习,使用快捷鍵Ctrl + Shift + P打開(kāi)搜索窗口智嚷,輸入“go: install/update”找到需要執(zhí)行的命令


然后選擇所有項(xiàng),下載安裝即可纺且,這些工具都是go項(xiàng)目開(kāi)發(fā)中的一些輔助工具盏道。

6.Hello, World!

完成以上所有安裝配置后,打開(kāi)之前創(chuàng)建的test目錄载碌,在根目錄下創(chuàng)建一個(gè)main.go文件猜嘱,內(nèi)容如下

package main

import "fmt"

func main () {
    fmt.Println("Hello, World!")
}

然后打開(kāi)Terminal衅枫,執(zhí)行go run .,控制臺(tái)輸出了"Hello, World!"朗伶,至此Golang開(kāi)發(fā)環(huán)境以及工具都已經(jīng)準(zhǔn)備就緒弦撩。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市论皆,隨后出現(xiàn)的幾起案子益楼,更是在濱河造成了極大的恐慌,老刑警劉巖点晴,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件感凤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡粒督,警方通過(guò)查閱死者的電腦和手機(jī)陪竿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)屠橄,“玉大人族跛,你說(shuō)我怎么就攤上這事〕鸱” “怎么了庸蔼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵解总,是天一觀的道長(zhǎng)贮匕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)花枫,這世上最難降的妖魔是什么刻盐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮劳翰,結(jié)果婚禮上敦锌,老公的妹妹穿的比我還像新娘。我一直安慰自己佳簸,他們只是感情好乙墙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著生均,像睡著了一般听想。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上马胧,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天汉买,我揣著相機(jī)與錄音,去河邊找鬼佩脊。 笑死蛙粘,一個(gè)胖子當(dāng)著我的面吹牛垫卤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播出牧,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼穴肘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了舔痕?” 一聲冷哼從身側(cè)響起梢褐,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赵讯,沒(méi)想到半個(gè)月后盈咳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡边翼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年鱼响,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片组底。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡丈积,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出债鸡,到底是詐尸還是另有隱情江滨,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布厌均,位于F島的核電站唬滑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棺弊。R本人自食惡果不足惜晶密,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望模她。 院中可真熱鬧稻艰,春花似錦、人聲如沸侈净。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)畜侦。三九已至元扔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夏伊,已是汗流浹背摇展。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咏连。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓盯孙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親祟滴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子振惰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容