共享標記(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 ...