GO 命令列 編譯命令

2021-10-25 19:22:04 字數 1730 閱讀 6921

go111module

在go語言 1.12 版本之前,要啟用 go module 工具首先要設定環境變數 go111module,不過在go語言 1.13 及以後的版本則不再需要設定環境變數。通過 go111module 可以開啟或關閉 go module 工具。

windows 下開啟 go111module 的命令為:

set go111module=on 或者 set go111module=auto

macos 或者 linux 下開啟 go111module 的命令為:

export go111module=on 或者 export go111module=auto

在開啟 go111module 之後就可以使用 go module 工具了,也就是說在以後的開發中就沒有必要在 gopath 中建立專案了,並且還能夠很好的管理專案依賴的第三方包資訊。

常用的go mod命令如下表所示:

命令作用

go mod download

go mod edit

編輯 go.mod 檔案

go mod graph

列印模組依賴圖

go mod init

初始化當前資料夾,建立 go.mod 檔案

go mod tidy

增加缺少的包,刪除無用的包

go mod vendor

將依賴複製到 vendor 目錄下

go mod verify

校驗依賴

go mod why

解釋為什麼需要依賴

如何在專案中使用

1) 在 gopath 目錄之外新建乙個目錄,並使用go mod init初始化生成 go.mod 檔案。

go mod init hello

go: creating new go.mod: module hello

go.mod 檔案一旦建立後,它的內容將會被 go toolchain 全面掌控,go toolchain 會在各類命令執行時,比如go get、go build、go mod等修改和維護 go.mod 檔案。

go.mod 提供了 module、require、replace 和 exclude 四個命令:

go module 安裝 package 的原則是先拉取最新的 release tag,若無 tag 則拉取最新的 commit,詳見modules 官方介紹。

go 會自動生成乙個 go.sum 檔案來記錄 dependency tree:

可以使用命令go list -m -u all來檢查可以公升級的 package,使用go get -u need-upgrade-package公升級後會將新的依賴版本更新到 go.mod * 也可以使用go get -u公升級所有依賴。

go run -gcflags "-m -l" main.go

使用 go run 執行程式時,-gcflags 引數是編譯引數。其中 -m 表示進行記憶體分配分析,-l 表示避免程式內聯,也就是避免進行程式優化

學海無涯,活到老學到老,各類技術層出不斷,各語言層出不斷,需要it人不斷學習不斷探索,才不會被快速更新的技術需求淘汰。

本人技術宅一枚,從業深耕it十多年,積累和總結大量經驗和各種資源,為助力幫助大家快速學習提公升技術能力,可以免費提供大家學習交流,

需要**:微&信 hao:1462436191   qq 同號

掃碼加:

Go語言命令列編譯與執行

使用go build 在專案目錄下執行go build 在其他路徑下執行go build,需要在後面加上專案的路徑 專案路徑從gopath src後開始寫起,編譯之後的可執行檔案就儲存在當前目錄下 go build o hello.exe 執行go install 先編譯得到乙個可執行檔案 將可執行...

Go命令列工具

ubuntu安裝配置好go環境後,終端執行 go 則會顯示出一些常用命令。其中有一些是在編譯安裝信令伺服器時使用到的。執行 go 後,go command arguments the commands are build compile packages and dependencies clean...

命令列引數的作用 go 命令列引數

使用 flag 包獲取命令列引數,控制程式執行 主要函式 flag.string flag.strin ar flag.int flag.intvar flag.float64 flag.float64var flag.bool flag.boolvar p2,p3 p1 命令列引數標誌,flag ...