1. 程式人生 > 實用技巧 >go入門——專案搭建

go入門——專案搭建

一、go環境搭建

 //進入下載目錄
cd /home/dont/Download  
 //下載go語言包
wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz  
//解壓至root許可權下usr/locat目錄下
sudo tar xfz go1.14.3.linux-amd64.tar.gz -C /usr/local


//配置全域性變數

sudo vi /etc/profile

export GOROOT=/usr/local/go    //設定為你自己的go安裝目錄

export GOPATH=/home/liyuan02/go    // 設定為自己的go專案的工作區間 ----- 使用go mod一般為空,安裝godoc時需要設定一個路徑
export PATH=$GOROOT/bin:$PATH //原路徑後用冒號連線新路徑 //使配置立即生效 source /etc/profile //驗證成功 go version go version go1.13.11 linux/amd64

二、使用GO Modules工具進行專案開發

1.目錄設定

C:\Go    <<--- GOROOT 指向的位置

    --src                 <<--- Go 語言自帶的原始碼

    --pkg                 <<--- 編譯的中間檔案放在此資料夾

    --bin                 <<--- 編譯的目標檔案放在此資料夾

D:\MyWorks  
<<--- GOPATH 指向的位置 --src <<--- 專案原始碼放置在此資料夾。!!!警告:一個常犯的錯誤是把 GOPATH 指向此處!!! --HelloWorld <<--- 我們專案原始碼所在的資料夾。!!!警告:一個常犯的錯誤是把 GOPATH 指向此處!!! --vendor <<--- 第三方開原始碼資料夾 --github.com --... --pkg <<--- 編譯的中間檔案放在此資料夾,Go編譯器自動生成此資料夾
--bin <<--- 編譯的目標檔案放在此資料夾,Go編譯器自動生成此資料夾

2.GO Modules配置

//設定變數引數
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

//檢視變數設定情況
go env

GO111MODULE="on"
GOPROXY="https://goproxy.cn,direct"

3.GO Modules操作命令

//go mod操作命令

go get -u //更新現有的依賴

go mod tidy //整理模組(拉取缺少的模組,移除不用的模組)

go mod download//下載依賴包

go mod graph //列印現有依賴結構

go mod vendor //將依賴複製到vendor下

go mod verify //校驗依賴

三、使用GO Modeles開發一個專案

1.目錄結構

//建立一個Go的專案目錄

sdsec_go                        //專案目錄名稱

    |---test                    //專案內的子目錄

        |---hello_word.go       //Go檔案

// 使用Go Modules後,專案目錄

sdsec_go                        // 專案目錄名稱

    |---test                    //專案內的子目錄

        |---hello_word.go       //Go檔案

    |---vendor                  // Go擴充套件包的存放目錄

        |---github.com          // Go擴充套件包的下載來源 --- 來自github.com網站

        |---golang.org          // Go擴充套件包的下載來源 --- 來自golang.org網站

            |---x

                |---sys         // Go擴充套件包 --- sys擴充套件包

    |---go.mod                  // Go Module,自動生成。在go.mod中被require的Go的擴充套件包,才會被自動下載到vendor目錄中。

    |---go.sum                  // Go Module,自動生成。


// 執行命令的順序

1、先進入專案目錄。

2、執行go mod init xxx("xxx"自已定義,可以是專案名稱,或是其它文字)。會自動生成go.mod檔案。

3、對某個Go檔案,進行go build。例如:go build test/hello_word.go(會將hello_word.go中import引入進來的擴充套件包的資訊,自動寫入go.mod)。
package main

import "fmt"

func main(){
        fmt.Println("hello,world")      
}

2.執行操作

//mod初始化 ----- 自動生成go.mod和go.sum檔案。這兩個檔案中的內容,都是自動生成,不需要手工修改。
go mod init 專案目錄

//整理模組(拉取缺少的模組,移除不用的模組) ----- 自動修改go.mod和go.sum檔案中的內容。
go mod tidy

//將依賴複製到vendor目錄下 ----- 自動建立vendor目錄,並根據go.mod中Require的依賴列表,將依賴的元件包,複製到與go.mod同級的vendor目錄中。
go mod vendor

//建立deploy目錄用於儲存生成的可執行檔案
go build -o ./deploy/hell_word ./test/hello_world.go

//執行
./hello_world