默認讀者會使用linux的基本操做html
配置go語言的開發環境的第一步是要在go官網下載頁面下載開發包linux
linux須要下載tar.gz壓縮文件git
這裏咱們下載的是 64 位的開發包,若是讀者的電腦是 32 位系統或者有特殊的需求,則須要下載 32 位的開發包golang
在上圖所示頁面中向下滾動便可找到 32 位開發包的下載地址,以下圖所示ubuntu
注意,若是在ubuntu這樣有圖形化界面的linux操做系統,咱們能夠直接下載vim
沒有圖形化界面時,咱們須要在命令行中操做api
第一步:下載開發包bash
>> wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz --2020-02-06 14:18:58-- https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz Resolving dl.google.com (dl.google.com)... 203.208.50.168, 203.208.50.166, 203.208.50.163, ... Connecting to dl.google.com (dl.google.com)|203.208.50.168|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 120071076 (115M) [application/octet-stream] Saving to: 'go1.13.7.linux-amd64.tar.gz' 2020-02-06 14:19:19 (7.72 MB/s) - 'go1.13.7.linux-amd64.tar.gz' saved [120071076/120071076]
使用tar 命令解壓剛剛下載的Go語言開發包到/usr/local目錄app
>> tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz
解壓成功後會在/usr/local目錄下新增一個 go 目錄,至此咱們的Go語言開發包就安裝完成了。編輯器
使用cd /usr/local/go
命令進入該目錄,而後執行bin/go version 命令就能夠查看當前Go語言的版本了。
>> bin/go version go version go1.13.7 linux/amd64
使用ls命令,列出當前目錄下的文件和文件夾
ls AUTHORS CONTRIBUTING.md CONTRIBUTORS LICENSE PATENTS README.md SECURITY.md VERSION api bin doc favicon.ico lib misc pkg robots.txt src test
這個目錄的結構遵照 GOPATH 規則,後面的章節會提到這個概念。目錄中各個文件夾的含義以下表所示。
目錄名說明api每一個版本的 api 變動差別bingo 源碼包編譯出的編譯器(go)、文檔工具(godoc)、格式化工具(gofmt)doc英文版的 Go 文檔lib引用的一些庫文件misc雜項用途的文件,例如 Android 平臺的編譯、git 的提交鉤子等pkglinux 平臺編譯好的中間文件src標準庫的源碼test測試用例
開始寫 go 項目代碼以前,須要咱們先配置好環境變量。
須要把這幾個環境變量添加 profile 文件中(~/.bash_profile 或 /etc/profile)。
若是是單用戶使用,能夠將環境變量添加在 home 目錄下的 bash_profile 文件中,若是是多用戶使用,須要添加在 /etc/profile 文件。(推薦你們在 /etc/profile 文件中設置環境變量)
使用編輯器例如vim /etc/profile
命令打開 profile 文件,並將下面的環境變量添加到文件末尾。
添加完成後使用:wq 命令保存並退出。
而後,使用 source /etc/profile
命令使配置文件生效,如今就能夠在任意目錄使用Go語言命令了。
export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin
環境變量設置好後,能夠經過在命令行輸入go env 命令來進行測試。
>> go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/root/.cache/go-build" GOENV="/root/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/root/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go"