您好,登錄后才能下訂單哦!
這篇文章主要為大家分享搭建go語言開發環境的方法。文中還介紹了搭建golang開發環境技巧和golang版本的選擇,希望大家通過這篇文章能有所收獲。
1.到golang下載地址下載對應環境的安裝包或者源碼,若是Linux環境的話,將源碼包下載解壓之后,放至/usr/local/(實際上放至合適位置即可,只要把它添加進PATH就行),如:
export PATH=$PATH:/usr/local/go/bin
2.配置GOPATH、GOROOT,這里可能需要解釋一下,對于新手來說,肯定不熟悉這兩個環境變量的意義。
GOROOT:golang的安裝目錄。
GOPATH:go的工作空間,在GOPATH下會有三個目錄:src,bin,pkg。
src:存放源碼(在不設置go mod的情況下,go get的包放至這里,你自己的項目源碼也可以放在這里);
bin:編譯后的可執行文件放置的位置,如果在你項目go install,生成的可執行文件會放在此處;
pkg:存放編譯時產生的文件(.a文件)并根據平臺進行歸檔,比如,windows64下產生的文件放在windows_amd64目錄下,通常情況下,我們不會太關心這些文件。不過在go module包管理方式下,pkg目錄變得受人關注了, 依賴的第三方包被下載到了$GOPATH/pkg/mod路徑下,而不是src文件夾。
3.下載一個合適的IDE,我個人比較喜歡用Goland,選擇一個適合自己的IDE很重要,也有人喜歡vs code,這沒有關系,只要自己使用順手就行。
4.簡單寫段代碼測試一下,go的安裝情況如何,在$GOPATH/src下創建一個目錄作為測試項目,創建一個main.go文件,代碼如下:
package main
import (
"fmt"
)
func main() {
fmt.Print("Hello world!")
}
接著在項目根目錄下go run main.go或者像我一樣在IDE里面直接點擊一下運行按鈕即可。可以說搭建一個golang環境至此已經結束,就這么簡單?就這么簡單,但還有其他事情可以繼續說下
有這樣一個場景:有個go項目,它的打包方式是make,但是我們想在Windows下編寫代碼,在Windows下正常情況下沒有make工具,而Linux有。當然有人會提出,那就在Windows下安裝相應的make工具就好了,的確如此,這樣就解決問題了。我接下來所要講的技巧權當做一種另外的解題思路。
首先,安裝一個Linux虛擬機,創建好之后設置共享目錄
在我的Windows系統的D盤下有一個share目錄,我將它共享到了虛擬機里面,并在Linux中為它創建了一個軟連接,這樣方便我查看和修改文件。share目錄下的go目錄即為我的GOPATH,我將虛擬機中的GOPATH設置成了同一個路徑,這樣子就可以在兩個系統中共享同一份下載的源碼。好了,現在我們可以在Windows下打代碼,在Linux下編譯了(有個Linux環境莫名的有安全感)。
能夠寫一段簡單的打印“hello world”的代碼就證明你的開發環境搭建完畢了嗎?很多時候,初學者看到的其他golang入門文章到此就結束了,但我覺得還有些可以繼續進步的地方。很多項目會用到mysql、reids等,下面我會用docker和docker-compose為我們的項目提供支持。我的操作思路是在虛擬機安裝docker和docker-compose,并安裝mysql等,然后將端口轉發出來。
① 在虛擬機中安裝docker和docker-compose;
② 將創建工作目錄,在該目錄下創建一個docker-compose.yaml,接著運行如下:
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" # 掛載數據目錄
- "./config:/etc/mysql/conf.d" # 掛載配置文件目錄
$ docker-compose up -d
③ 將對應端口轉發出來:
④ 在Windows下用熟手的工具去操作,可以用navicat等工具,我個人比較喜歡都在IDE里執行:
如此一來,我們就可以利用docker和docker-compose創建一些我們需要的組件,并且在Windows和Linux下都連接成功。這么做有一些好處,我們可以在Windows下盡情的編碼和測試,在Linux下去做編譯和打包工作。不過,我并沒有很詳細地將這其中的操作過程寫出來,這篇文章里主要提供一些思路,如有人有興趣,我以后會寫一篇跟工具有關的文章。
我在看官網的文檔時,發現了一個有趣的東西,貌似平時沒有很多人去關注。
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版本,這種方式也比較簡單。但應該很少人會有這樣的需求了吧,因為一般來講,go的版本安裝最新的就行了,go的兼容做得很好,不會因為你的代碼是幾年之前寫的就運行不起來。
看完這篇文章,你們學會搭建go語言開發環境的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。