Golang基本命令詳解

Golang基本命令詳解

原文源碼等更多內(nèi)容可參見:http://blog.hyrscloud.com/topic/index?id=19

go --help

C:\Users\zhang>go --help
Go is a tool for managing Go source code.
Usage:
 go <command> [arguments]
 其中 command 是操作命令 arg是該命令的參數(shù)八匠,像:go run hello.go
The commands are:
 bug         start a bug report
 build       compile packages and dependencies 
 clean       remove object files and cached files
 doc         show documentation for package or symbol
 env         print Go environment information
 fix         update packages to use new APIs
 fmt         gofmt (reformat) package sources
 generate    generate Go files by processing source
 get         add dependencies to current module and install them 
 install     compile and install packages and dependencies
 list        list packages or modules
 mod         module maintenance
 run         compile and run Go program
 test        test packages
 tool        run specified go tool
 version     print Go version
 vet         report likely mistakes in packages
Use "go help <command>" for more information about a command.
Additional help topics:
 buildconstraint build constraints
 buildmode       build modes
 c               calling between Go and C
 cache           build and test caching
 environment     environment variables
 filetype        file types
 go.mod          the go.mod file
 gopath          GOPATH environment variable
 gopath-get      legacy GOPATH go get
 goproxy         module proxy protocol
 importpath      import path syntax
 modules         modules, module versions, and more
 module-get      module-aware go get
 module-auth     module authentication using go.sum
 module-private  module configuration for non-public modules
 packages        package lists and patterns
 testflag        testing flags
 testfunc        testing functions
Use "go help <topic>" for more information about that topic.
?
C:\Users\zhang></pre>

go build

go build compile packages and dependencies
 :編譯包和依賴項茁裙,可檢查是否存在編譯錯誤朴艰,如果被編譯的是main包,會生成可執(zhí)行文件;
 :go build hello.go 只編譯單個文件成可執(zhí)行文件;
 :只有文件中有main函數(shù)才可以生成可執(zhí)行文件,否則go build只檢查編譯錯誤城侧,不生成可執(zhí)行文件;
 :可通過 go build 編譯帶main函數(shù)的整個包形成可執(zhí)行文件
 :例如:工程存放在 C:\Go\src\golang_mainInit_Src\ 目錄下
 :在 C:\Go 下打開命令行彼妻,敲入go build .\src\golang_mainInit_Src\嫌佑,則可執(zhí)行文件生成在C:\Go 目錄下豆茫;
 :在 C:\Go\src\golang_mainInit_Src\目錄下打開命令行,敲入go build屋摇,則可執(zhí)行文件生成在C:\Go\src\golang_mainInit_Src\目錄下揩魂;
 :注意:使用go build編譯整個包,工程要在GOPATH環(huán)境變量里炮温,否則系統(tǒng)找不到火脉;
 :go build hello.go則不需要,因為是編譯單個文件柒啤,具體詳情在Golang工作目錄及包管理文章中會詳細介紹倦挂;
 :整個工程包的編譯,建議使用IDE担巩;如果是跨平臺編譯方援,則可拷貝工程進入其他平臺,設置環(huán)境變量后涛癌,使用go build犯戏,后續(xù)文章中也會有。

go get

go get add dependencies to current module and install them
 :用于動態(tài)獲取遠程代碼包祖很,并將依賴項添加到當前模塊并安裝它們笛丙;
 :go get github.com/mattn/go-sqlite3 默認拉到當前的 GOPATH目錄下漾脂,可通過go env假颇;
 :github.com/mattn/go-sqlite3 是遠程代碼包地址,可在瀏覽器輸入瀏覽骨稿;
 :一般都通過包管理工具直接拉取遠程包到當前工程目錄下笨鸡,例如:govendor,后續(xù)包管理文章會提到坦冠;

go run

run compile and run Go program
 :編譯和直接運行Go程序形耗,它會生成一個臨時文件,但不是一個標準的可執(zhí)行文件辙浑,直接在命令行打印輸出程序執(zhí)行結(jié)果激涤,方便用戶調(diào)試;
 :只能有 main 入口函數(shù)的才可以直接通過 go run運行判呕。

go fmt

go fmt 格式化源碼倦踢,有的IDE保存源碼時自動執(zhí)行該命令,比如subl侠草,也可手動執(zhí)行它

go install

go install 命令的作用有兩步:第一步辱挥,編譯導入的包文件,所有導入的包文件編譯完才會編譯主程序边涕;第二步晤碘,將編譯后生成的可執(zhí)行文件放到bin目錄下(GOPATH/bin)褂微,編譯后的包文件放到pkg目錄下( GOPATH/pkg)

go test

go test命令用于運行測試文件,該命令會自動讀取源碼目錄下的名為:*_test.go的文件园爷,生成并運行測試用的可執(zhí)行文件宠蚂,測試成功會顯示“PASS”、“OK”等信息童社。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肥矢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子叠洗,更是在濱河造成了極大的恐慌甘改,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灭抑,死亡現(xiàn)場離奇詭異十艾,居然都是意外死亡,警方通過查閱死者的電腦和手機腾节,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門忘嫉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人案腺,你說我怎么就攤上這事庆冕。” “怎么了劈榨?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵访递,是天一觀的道長。 經(jīng)常有香客問我同辣,道長拷姿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任旱函,我火速辦了婚禮响巢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棒妨。我一直安慰自己踪古,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布券腔。 她就那樣靜靜地躺著伏穆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颅眶。 梳的紋絲不亂的頭發(fā)上蜈出,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音涛酗,去河邊找鬼铡原。 笑死偷厦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的燕刻。 我是一名探鬼主播只泼,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卵洗!你這毒婦竟也來了请唱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤过蹂,失蹤者是張志新(化名)和其女友劉穎十绑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酷勺,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡本橙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脆诉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甚亭。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖击胜,靈堂內(nèi)的尸體忽然破棺而出亏狰,到底是詐尸還是另有隱情,我是刑警寧澤偶摔,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布暇唾,位于F島的核電站,受9級特大地震影響啰挪,放射性物質(zhì)發(fā)生泄漏信不。R本人自食惡果不足惜嘲叔,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一亡呵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧硫戈,春花似錦锰什、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至霜幼,卻和暖如春嫩码,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背罪既。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工铸题, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铡恕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓丢间,卻偏偏與公主長得像探熔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烘挫,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容