Linux下配置Golang開發環境
前幾天無意間看到了微信推送的golang開發的消息,看到golang那麼牛逼,突然心血來潮想學習一下go。工慾善其事必先利其器,想做go開發,必須先配置好go的開發環境(就像開發Java先安裝配置jdk一樣)。在網上找了半天,一直沒有找到滿意的教程(看來golang在國內還是不火)遂自己摸索,踩了不少坑,特來記錄一下,希望能幫助到別人,少走彎路。由於我把除了C/C++以外的開發都搬遷到Linux下了,所以就在Ubuntu下安裝配置了golang。其實Windows下的安裝也是大同小異了。
1 先去golang官網下載golang的安裝包
golang的官網在國內訪問比較慢,建議去國內的網站下載https://studygolang.com/dl 根據不同的平臺選擇對應的安裝包
[外鏈圖片轉存中…(img-nE2IOO9B-1589036988614)]
下載.png
2 安裝
Windows的雙擊然後選擇目錄安裝就好了。Linux的用 sudo tar -C /usr/local/ -xzvf go1.10.2.linux-amd64.tar.gz
命令解壓到 /urs/local/ 目錄。解壓完成,下一步
3 配置環境變量
在這裏想說句mmp,用網上的教程配置完,要不提示 程序go尚未安裝,要不就 go install 命令無法使用,所以自己摸着石頭過河,終於是過去了。話不多說,開始配置。
在/etc/profile
或者用戶目錄下的.profile
文件中配置環境變量。
這兩個的區別是在/etc/profile
下配置對所有用戶起作用,.profile
中配置只對當前用戶起作用。我在/etc/profile
中配置的執行sudo vim /etc/profile
命令,在文件的最後一行加入
export GOROOT=/usr/local/go
export GOPATH=/home/bruce/goProject
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
不要急,一行一行解釋
GOROOT
設置golang的安裝位置,我們解壓到了/usr/local/
目錄,該目錄下的go/
文件夾一定是go的環境的根目錄,就是打開go
目錄後別再有一個go/
目錄。
GOBIN
目錄是執行go install
後生成可執行文件的目錄
GOPATH
是我們的工作目錄,一般我們設置到用戶目錄下,這個要根據你電腦的實際情況去配置。在介紹一下go的工作目錄結構。在我們設置的工作目錄下有3個子目錄
├── bin
├── pkg
└── src
- bin文件夾存放
go install
命令生成的可執行文件,可以把**$GOBIN**路徑加入到PATH環境變量裏,這樣就可以直接在終端裏使用我們go開發生成的程序了。 - pkg文件夾是存在go編譯生成的文件。
- src存放的是我們的go源代碼,不同工程項目的代碼以包名區分。
添加完成後保存退出,然後執行source /etc/profile
或者註銷重新登錄一下。然後執行go version
能看到版本信息說明環境已經搭建好了。
接下來寫個demo來試試。到我們配置的工作目錄中(使用go bulid
在那個目錄都可以,使用go install
命令必須要在工作目錄下)我的工作目錄是home/bruce/goProject/src/test/
新建 test.go寫幾行代碼
package main
import "fmt"
func main() {
fmt.Println("Hello Golang")
}
然後執行go build one.go
,該目錄下會生成一個test*
使用./test
命令運行,輸出Hello Golang
說明成功
接下來試試go install test
,然後在工作目錄下的bin
目錄下會生成test*
文件,到這整個golang的開發環境就配置好了。
最後再推薦幾個IDE,最開發怎能少了IDE呢,首推Jetbrains家的產品,Jetbrains無論那種語言的IDE都很不錯,尤其是Jetbrains家的IDE界面和快捷鍵相同,熟悉一個,全都會用,而且跨平臺。golang開發可以使用Jetbrains goland這是Jetbrains專門爲golang開發的IDE,也可以使用 IDEA+Go插件的形式,我就是用的IDEA+插件,感覺還不錯。還有visual studio code+go插件也挺好,vscode的優勢是輕便。
###go使用代理的方法:
參閱https://github.com/goproxy/goproxy.cn
$ go env -w GOPROXY=https://goproxy.cn,direct
$ export GOPROXY=https://goproxy.cn
// win10改變go env的cmd命令行是:$env:GOPROXY = "https://proxy.golang.org,direct"
go get 太慢的問題
第一步:使用IP查找工具,找出對應的ip地址。
IP查找工具 http://ipaddress.com/ip-lookup/
查詢github.com 對應IP
查詢github.global.ssl.fastly.net 對應IP
第二步:將對應 Ip 寫入host
192.30.253.112 github.com
151.101.44.249 github.global.ssl.fastly.net
第三步:享受github去吧 :)
原文鏈接:https://blog.csdn.net/github_34889651/article/details/53471108
告別GoPath
新建一個project : D:\Documents\projects\myProject
然後這個project是不在GoPath下的,一般我們需要去指定環境變量中的GoPath,現在,只要cd到該目錄下,執行:go mod init myProject
,就可以將這個項目模塊化,然後在根目錄下生成go.mod,這樣vscode中就會認同這個項目也是個模塊了,注意,myProject根目錄中,不需要有src文件夾,本來src文件夾下的源代碼,現在必須直接放在myProject根目錄下,注意,用了go mod之後,就無法使用gopath的src下的包了,go get的包全部在GOPATH/pkg/mod下;
來src文件夾下的源代碼,現在必須直接放在myProject根目錄下,注意,用了go mod之後,就無法使用gopath的src下的包了,go get的包全部在GOPATH/pkg/mod下;