Go常用命令之go build

2021-10-19 05:19:29 字數 1338 閱讀 6766

共享標記(build、clean、get、install、list、run、test)

不常用標記

用於編譯原始碼檔案或**包,編譯非命令原始碼檔案不會產生結果檔案,它只會檢查原始碼檔案的有效性。

-o指定構建生成的可執行檔案或物件的輸出目錄及可執行檔名。但需要注意的時,當使用-o標記時,不能同時對多個**包進行編譯。

-i安裝那些編譯目標依賴的且未被安裝的**包。

常用標記

-a強行對所有涉及到的**包(包含標準庫中的**包)進行重新構建,即使他們已經是最新的了。

-n列印編譯期間所用到的其他命令,但是並不真正執行它們。

-p n

指定編譯過程中執行各任務的並行數量(確切的說應該是併發數量)。在預設情況下,該數量等於cpu的邏輯核數。但是在darwin/arm平台(即iphone和ipad所用的平台)下,該數量預設是1。

-race

開啟競態條件檢測。不過此標記目前僅在linux/amd64、freebsd/adm64、darwin/adm64、和windows/amd64平台下受到支援。

-v列印出那些被編譯的**包的名字。

-work

列印出編譯時生成的臨時工作目錄的路徑,並在編譯結束時保留它。

-x列印編譯期間所用到的其他命令(注意與-n的區別)

不常用標記

-asmflags

-buildmode

此標記用於指定編譯模式,使用方式如:-buildmode=default,此標記支援的變異模式有6中。藉此我們可以控制編譯器在編譯完成後生成靜態鏈結庫(.a檔案)、動態鏈結庫(.os檔案)、可執行檔案。

-compiler

此標記用於指定當前使用的編譯器的名稱。其值可以使gc或者gccgo。其中,gc編譯器即為go語言自帶的編譯器,而gccgo編譯器則是gcc提供的go編譯器。

-gccgoflags

此標記用於指定需要傳遞給gccgo編譯器或者鏈結器的標記的列表

-gcflags

此標記用於指定需要傳遞給go tool compile命令的標記列表

-ldflags

-linkshared

-pkgdir

指定乙個目錄。編譯器會只從該目錄中載入**包的歸檔檔案(.a),並把編譯可能會生成的**包歸檔檔案放置在該目錄下。

-tags

此標籤用於指定在編譯期間需要手裡的編譯標籤列表。

-toolexec

自定義在編譯期間額外執行的命令

go常用命令

go build 主要用於編譯 在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。如果是main包,當你執行go build之後,它就會在當前目錄下生成乙個可執行檔案。如果你需要在 gopath bin下生成相應的檔案,需要執行go install,如果某個專案資料夾下有多個檔案,而你只想編譯某...

Go基礎之封裝Go 結構體及常用命令

go語言僅支援封裝,不支援繼承 多型。1.go 結構體 struct 結構體就是乙個複雜的資料型別,裡面可以包含字段,也可以巢狀其他結構體 go 中沒有 class,而是使用 struct 結構體命名一般都是用camelcase,首字母大寫表示public,首字母小寫表示private,和go變數定...

Linux常用命令之Linux常用命令實戰知識點

在在複習linux,這是以前做的筆記,分享一下。linux系統 一切皆檔案 操作檔案就是操作linux系統 一 linux版本 1 redhat 企業版 收費 2 centos redhat的社群版 免費 3 ubuntu 4 紅旗 二 linux的特點 1 多使用者 多工 2 豐富的網路功能 3 ...