一、下載和安裝
官方網站 https://www.golang.org/
國內網站 https://golang.google.cn/
二、配置環境變量
1、 在go版本1.11之前需要配置以下幾個環境變量:
GOROOT: C:/go
go語言的安裝地址
GOPATH: E:/gopathgo的工作目錄
PATH:C: /go/bin將環境變量加入路徑
其中gopath目錄下創建以下三個文件夾:
bingolang編譯可執行文件存放路徑
pkggolang編譯包時,生成的.a文件存放路徑
src源碼路徑
GoPath是Golang的工作空間,所有的Go文件,都需要放在GoPath下的src目錄下才能夠編譯運行。
當時官方建議只有一個GoPath,大家把項目都放到GoPath下,而且GoPath下需要src,bin,pkg三個文件夾,src用來放源碼,bin目錄用來放編譯好的可執行文件,pkg用來放編譯過后引用的第三方包。
但是,在實際操作中會有如下問題:
如果我們把所有項目都放在同一個GoPath的src包下,那么項目的結構就會變得非常混亂,難以管理。
如果我們建立不同的GoPath來管理我們的項目,那么不同GoPath下的src中下載大量重復的第三方依賴包,這同樣會占用大量的磁盤空間。
2、 為了解決項目依賴管理問題,go1.11版本引入了GoModule的概念。
GoModule就是一個用來取代GoPath的Golang的工作空間。
GoPath我們用來存放我們從網上拉取的第三方依賴包。
GoModule我們用來存放我們自己的Golang項目文件當我們的項目需要依賴第三方包的時候,我們通過GoModule目錄下的一個go.mod文件來引用GoPath目錄src包下的第三方依賴即可。
這樣既解決了原來只能局限在GoPath目錄src包下進行編程的問題,也解決了第三方依賴包難以管理和重復依賴占用磁盤空間的問題。
總而言之,在引入GoModule之后,我們不會直接在GoPath目錄進行編程,而是把GoPath作為一個第三方依賴包的倉庫,我們真正的工作空間在GoModule目錄下。
3、 目前go的版本已更新至1.15版。
在安裝完golang后,默認配置GOROOT,配置默認的GOPATH:C:\Users\用戶名\go,并且默認情況下 GOROOT下的bin目錄及GOPATH下的bin目錄都已經添加到環境變量中了,我們也不需要額外配置了。
通過以下命令查看go環境配置:
go env
通過以下命令開啟GoModule
$env:GO111MODULE = "on"
通過以下命令設置代理服務
$env:GOPROXY="https://goproxy.cn",direct
國內網絡直接從谷歌服務器或者github上下載項目是非常痛苦的,所以先設置好代理,以后在下載第三方包的時候會非常方便。
4、 GoModule的設置
我們在任意目錄下通過go mod init 項目名稱
即可對目錄進行初始化操作,這個目錄即為一個GoModule目錄。
例如:在F:\go_project目錄,通過cmd命令提示符進入該目錄,執行
go mod init go_project
進行初始化,在go_project目錄下會生成一個go.mod,該文件就是用來引入GoPath目錄下的第三方依賴文件。
此處注意:go mod init 命令后面必須帶上項目名稱。
當我們需要引入GoPath目錄下的第三方依賴包的時候,只需要在go.mod目錄下添加依賴名稱,GoModule就會自動幫我們把第三方依賴包下載到GoPath目錄下。
例如:
module go_module_demo
go 1.14
require (
github.com/astaxie/beego v1.12.1
github.com/go-sql-driver/mysql v1.5.0
)
三、配置開發工具
1、 下載vscode
vscode下載地址https://code.visualstudio.com/
2、 安裝中文漢化插件chinese和第三方go語言插件
再次運行vscode或運行項目時會提示我們安裝go語言插件的依賴包,install all都可以自動安裝成功。
四、第一個golang程序
在F:\go_project目錄創建main.go,輸入代碼:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
可以通過以下三種方式執行go程序:
1、 通過cmd命令提示符進入該目錄,執行go build main.go
會在當前目錄生成main.exe
可執行文件,控制臺執行./main.exe
,可在終端輸出hello world
。
2、 通過cmd命令提示符進入該目錄,執行go run main.go
可運行go程序,在終端輸出hello world
3、 通過cmd命令提示符進入該目錄,執行go install main.go
可在GOPATH下的bin文件夾生成main.exe
,在任意終端下(path下已添加GOPATH下的bin目錄)執行main.exe
,可在終端輸出hello world