Hello,Golang 一、開發環境搭建 1. 下載 SDK 1 // Go官網下載地址 2 https://golang.org/dl/ 3 4 // Go官方鏡像站(推薦) 5 https://golang.google.cn/dl/ 2. 安裝 由於Go語言是一門跨平臺的編譯型語言,我們 ...
一、開發環境搭建
1. 下載 SDK
1 // Go官網下載地址 2 https://golang.org/dl/ 3 4 // Go官方鏡像站(推薦) 5 https://golang.google.cn/dl/
2. 安裝
由於Go語言是一門跨平臺的編譯型語言,我們只需要在一個平臺下進行開發,最後根據要運行的平臺進行對應的編譯,就可以直接在對應的平臺上運行項目了。下麵我們主要介紹一下Go語言在 Windows 環境上的安裝過程:
-
第一步,下載Go語言安裝包到本地
-
第二步,傻瓜式安裝,瘋狂下一步,期間可以選擇安裝的路徑
-
第三步,按照上述步驟安裝完成後,打開終端,輸入
go version
命令,如果能查看到相關的信息,證明安裝成功。
3. 配置環境變數
打開終端輸入命令 go env
可以查看安裝 SDK 完成後的相關環境配置信息,其中我們需要重點關註一下框出來的幾個配置項:
相關配置項說明:
-
GO111MODULE: 是否用
go mod
模式來管理項目的依賴 -
GOROOT:go的安裝路徑,需要把安裝目錄的
bin
級目錄配置到電腦的系統環境變數中,才能全局使用 go 指令
-
GOPATH:項目代碼存放的路徑,目錄可自定義,需要在電腦的系統環境變數中進行配置,後期工程代碼以及下載的依賴都會存放在這個目錄下
-
GOPROXY:鏡像源,用於下載三方依賴,預設值是:
GOPROXY=https://proxy.golang.org,direct
,但國內訪問不到,建議改成以下值:
https://goproxy.io 或 https://goproxy.cn
由於從 Go1.11 版本之後,項目結構有了很大的改動,環境配置項的作用也不一樣,因此環境變數配置有一些差異:
3.1 GO 1.11 版本之前的環境配置
GO 1.11 之前版本規定了我們的代碼要寫在固定的位置,因此必須要配置一個GOPATH
,配置好後,我們還需要在 GOPATH
對應的目錄下(新建以下幾個文件夾,以後我們所有的代碼都必須寫在 src
目錄中:
3.2 GO 1.11 版本及之後版本的環境配置
Go 1.11 版本之後,推薦使用 go mod
模式來管理依賴環境,不再強制配置 GOPATH
。在安裝完 GO 軟體包後,會給 GOPATH
設置一個預設目錄,且預設情況下 GOROOT
下的 bin
目錄及 GOPATH
下的 bin
目錄都已經添加到環境變數中了,我們也不需要額外配置了;此外我們也不用把代碼必須寫在GOPATH
下麵的 src
目錄下了,可以在電腦的任意位置編寫 GO 代碼。
簡而言之,在 1.11 版本後,我們不需要再關註和配置 GOROOT
和 GOPATH
這兩個環境變數了,安裝完成之後,我們只需要配置一下 GO111MODULE
和 GOPROXY
兩項即可。實際上安裝完新版本的軟體包後,GO111MODULE
都是預設開啟的,我們真正需要配置的只有 GOPROXY
。
二、第一個Go語言程式
我們隨意在某個目錄下新建一個 hello
文件夾,在 hello
目錄中新建一個 main.go
文件,並輸入以下代碼
1 package main // 聲明 main 包,表明當前是一個可執行程式,一個項目中只能有一個main包 2 3 import "fmt" // 導入內置 fmt 包 4 5 func main() { // main函數,是程式執行的入口 6 fmt.Println("hello world !") 7 }
在終端中進入 hello
目錄,輸入 go build
命令對代碼進行編譯,編譯通過後會在同級目錄下生成一個可執行文件:
直接運行 exe 程式就可以看到代碼實現的功能了:
三、Go 常用命令
-
go help
go help
可以查詢 go 常用的命令:
-
go build
go build
表示將源代碼編譯成可執行文件。不同平臺下編譯得到的可執行文件類型不一樣,windows下的是 exe 類型文件。可以通過添加 -o
參數來指定編譯過後的文件名,例如:
go build -o helloworld.exe
-
go install
go install
表示安裝的意思,它先編譯源代碼得到可執行文件,然後將可執行文件移動到 GOPATH
的bin目錄下。因為我們的環境變數中配置了GOPATH
下的bin目錄,所以我們就可以在任意地方直接執行可執行文件了。
-
go run
go run
命令可以像執行腳本一樣直接執行 .go
文件,且不會產生編譯後的 .exe
文件,例如:
go run main.go
-
go fmt
go fmt
命令可以快速格式化代碼,例如:
go fmt main.go
四、跨平臺編譯
預設 go build
得到的可執行文件都是當前操作系統下的,如果我想在windows下編譯一個linux下可執行文件,那需要怎麼做呢?
只需要指定目標操作系統的平臺和處理器架構即可,然後再執行go build
命令,就可以編譯得到目標操作系統對應的可執行文件了
# Windows下編譯得到Linux 64位可執行程式 SET CGO_ENABLED=0 // 禁用CGO,使用了cgo的代碼是不支持跨平臺編譯的 SET GOOS=linux // 目標平臺是linux SET GOARCH=amd64 // 目標處理器架構是amd64 # Windows下編譯得到Mac 64位可執行程式 SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64
其餘操作系統轉換編譯命令如下:
# Mac下編譯得到Linux可執行程式 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 # Mac下編譯得到Windows 64位可執行程式 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 # Linux下編譯得到Mac可執行程式 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 # Linux下編譯得到Windows 64位可執行程式 CGO_ENABLED=0 GOOS=windows GOARCH=amd64