最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語(yǔ)言中一些不常見(jiàn)的命令參數(shù)詳解

 更新時(shí)間:2017年12月06日 17:11:12   作者:John  
這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中一些不常見(jiàn)的命令參數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

這篇文章可能會(huì)有些偏見(jiàn)。這篇文章描述了個(gè)人會(huì)用到的Go工具參數(shù),還有一些是我周圍的人遇到的問(wèn)題。如果有問(wèn)題大家可以留言,你是剛開(kāi)始使用Go工具么?或者你想擴(kuò)展知識(shí)?這篇文章將會(huì)描述每個(gè)人都需要知道的Go工具參數(shù)。下面話不多說(shuō)了,來(lái)一看看詳細(xì)的介紹吧。

$ go build -x

-x會(huì)列出來(lái)go build調(diào)用到的所有命令。

如果你對(duì)Go的工具鏈好奇,或者使用了一個(gè)跨C編譯器,并且想知道調(diào)用外部編譯器用到的具體參數(shù),或者懷疑鏈接器有bug;使用-x來(lái)查看所有調(diào)用。

$ go build -x
WORK=/var/folders/00/1b8h8000h01000cxqpysvccm005d21/T/go-build600909754
mkdir -p $WORK/hello/perf/_obj/
mkdir -p $WORK/hello/perf/_obj/exe/
cd /Users/jbd/src/hello/perf
/Users/jbd/go/pkg/tool/darwin_amd64/compile -o $WORK/hello/perf.a -trimpath $WORK -p main -complete -buildid bbf8e880e7dd4114f42a7f57717f9ea5cc1dd18d -D _/Users/jbd/src/hello/perf -I $WORK -pack ./perf.go
cd .
/Users/jbd/go/pkg/tool/darwin_amd64/link -o $WORK/hello/perf/_obj/exe/a.out -L $WORK -extld=clang -buildmode=exe -buildid=bbf8e880e7dd4114f42a7f57717f9ea5cc1dd18d $WORK/hello/perf.a
mv $WORK/hello/perf/_obj/exe/a.out perf
 
$ go build -gcflags

這個(gè)參數(shù)將會(huì)傳遞給編譯器。go tool compile -help列出來(lái)了所有我們可以傳遞給編譯器的參數(shù)。

例如,禁用編譯器優(yōu)化和內(nèi)聯(lián)優(yōu)化,你可以使用下面的參數(shù):

$ go build -gcflags="-N -I"

$ go test -v

這個(gè)命令可以為測(cè)試提供完整的輸出。它會(huì)打印測(cè)試名稱、狀態(tài)(成功或者失?。?、測(cè)試所耗費(fèi)的時(shí)間,還有測(cè)試的日志等等。

如果不使用-v參數(shù)來(lái)測(cè)試,輸出很少很多,我經(jīng)常使用-v參數(shù)來(lái)打開(kāi)詳細(xì)測(cè)試日志。例子:

$ go test -v context
=== RUN TestBackground
--- PASS: TestBackground (0.00s)
=== RUN TestTODO
--- PASS: TestTODO (0.00s)
=== RUN TestWithCancel
--- PASS: TestWithCancel (0.10s)
=== RUN TestParentFinishesChild
--- PASS: TestParentFinishesChild (0.00s)
=== RUN TestChildFinishesFirst
--- PASS: TestChildFinishesFirst (0.00s)
=== RUN TestDeadline
--- PASS: TestDeadline (0.16s)
=== RUN TestTimeout
--- PASS: TestTimeout (0.16s)
=== RUN TestCanceledTimeout
--- PASS: TestCanceledTimeout (0.10s)
...
PASS
ok context 2.426s

$ go test -race

現(xiàn)在可以使用Go工具提供的-race參數(shù)進(jìn)行競(jìng)爭(zhēng)檢測(cè)。它會(huì)檢測(cè)并報(bào)告競(jìng)爭(zhēng)。開(kāi)發(fā)的過(guò)程中用這個(gè)命令來(lái)檢測(cè)一下。

注:完整的命令是:

$ go test -race mypkg // to test the package
$ go run -race mysrc.go // to run the source file
$ go build -race mycmd // to build the command

$ go test -run

你可以在測(cè)試的時(shí)候通過(guò)-run參數(shù)來(lái)正則匹配過(guò)濾需要測(cè)試的代碼。下面的命令只會(huì)運(yùn)行test examples。

$ go test -run=Example

$ go test -coverprofile

當(dāng)測(cè)試一個(gè)包的時(shí)候,可以輸出一個(gè)測(cè)試覆蓋率,然后使用命令go tool來(lái)在瀏覽器里面可視化。

$ go test -coverprofile=c.out && go tool cover -html=c.out

注:測(cè)試fmt包

go test -coverprofile=c.out fmt

$ go test -exec

一般很少有人知道Go的這個(gè)功能,你可以通過(guò)-exec插入另一個(gè)程序。這個(gè)參數(shù)允許通過(guò)Go工具完成一些外部工作。

一個(gè)常見(jiàn)的需求場(chǎng)景是你需要在一些宿主機(jī)上面執(zhí)行一些測(cè)試。我們可以通過(guò)-exec命令調(diào)用adb命令來(lái)把二進(jìn)制文件導(dǎo)入安卓設(shè)備并且可以收集到結(jié)果信息。參考這個(gè)來(lái)在安卓設(shè)備上面執(zhí)行。

$ go get -u

如果你通過(guò)go get命令獲取Go包,而這個(gè)包已經(jīng)存在于本地的GOPATH,那么這個(gè)命令并不會(huì)幫你更新包。-u可以強(qiáng)制更新到最新版。

如果你是一個(gè)庫(kù)作者,你最好在你的安裝說(shuō)明上加上-u參數(shù),例如,golint是這么做的:

$ go get -u github.com/golang/lint/golint

$ go get -d

如果你想clone一個(gè)代碼倉(cāng)庫(kù)到GOPATH里面,跳過(guò)編譯和安裝環(huán)節(jié),使用-d參數(shù)。這樣它只會(huì)下載包并且在編譯和安裝之前停止。

當(dāng)需要clone虛擬網(wǎng)址代碼倉(cāng)庫(kù)的時(shí)候,我經(jīng)常使用這個(gè)命令來(lái)代替git clone,因?yàn)檫@樣可以把Go代碼自動(dòng)放入合適的目錄下面。例如:

$ go get -d golang.org/x/oauth2/...

這樣可以克隆到$GOPATH/src/golang.org/x/ouath2目錄下面。假設(shè)golang.org/x/oauth2是一個(gè)虛擬網(wǎng)址,通過(guò)go get獲取這個(gè)代碼倉(cāng)庫(kù)要比找出倉(cāng)庫(kù)的真實(shí)地址(go.googlesource.com/oauth2)更簡(jiǎn)單。

$ go get -t

如果你的測(cè)試包的有附加的依賴包,-t可以一并下載測(cè)試包的依賴包。如果沒(méi)有加這個(gè)參數(shù),go get只會(huì)下載非測(cè)試包的依賴包。

$ go list -f

這個(gè)命令可以列出來(lái)Go的所有包,并且可以指定格式。這個(gè)寫腳本的時(shí)候很有用。

下面這個(gè)命令將會(huì)打印所有依賴的runtime包

go list -f ‘' runtime [runtime/internal/atomic runtime/internal/sys unsafe]

參考鏈接:

http://blog.csdn.net/erlib/article/details/52703165

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解golang中Context超時(shí)控制與原理

    詳解golang中Context超時(shí)控制與原理

    Context本身的含義是上下文,我們可以理解為它內(nèi)部攜帶了超時(shí)信息、退出信號(hào),以及其他一些上下文相關(guān)的值,本文給大家詳細(xì)介紹了golang中Context超時(shí)控制與原理,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-01-01
  • Go語(yǔ)言入門13之runtime包案例講解

    Go語(yǔ)言入門13之runtime包案例講解

    這篇文章主要介紹了Go語(yǔ)言入門runtime包相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Go語(yǔ)言中常用的基礎(chǔ)方法總結(jié)

    Go語(yǔ)言中常用的基礎(chǔ)方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中常用的一些基礎(chǔ)方法,例如:使用正則表達(dá)式驗(yàn)證字符串、格式化字符串、時(shí)間的比較等等,需要的可以參考一下
    2022-09-09
  • Go?多環(huán)境下配置管理方案(多種方案)

    Go?多環(huán)境下配置管理方案(多種方案)

    這篇文章主要介紹了Go?多環(huán)境下配置管理方案,方案一配置文件管理,方案二集中式管理配置,每種方案給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 淺析Go語(yǔ)言如何在select語(yǔ)句中實(shí)現(xiàn)優(yōu)先級(jí)

    淺析Go語(yǔ)言如何在select語(yǔ)句中實(shí)現(xiàn)優(yōu)先級(jí)

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言如何在select語(yǔ)句中實(shí)現(xiàn)優(yōu)先級(jí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 在Golang中使用http.FileServer返回靜態(tài)文件的操作

    在Golang中使用http.FileServer返回靜態(tài)文件的操作

    這篇文章主要介紹了在Golang中使用http.FileServer返回靜態(tài)文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • golang 檢查網(wǎng)絡(luò)狀態(tài)是否正常的方法

    golang 檢查網(wǎng)絡(luò)狀態(tài)是否正常的方法

    今天小編就為大家分享一篇golang 檢查網(wǎng)絡(luò)狀態(tài)是否正常的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • 如何編寫Go語(yǔ)言中間件的實(shí)例教程

    如何編寫Go語(yǔ)言中間件的實(shí)例教程

    不知道大家有沒(méi)有寫過(guò)中間件呢,它是怎么寫的呢?下面這篇文中就來(lái)給大家分享一下使用Go,如何編寫中間件,文中通過(guò)示例代碼介紹的非常詳細(xì),供大家參考學(xué)習(xí),下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • golang中如何使用kafka方法實(shí)例探究

    golang中如何使用kafka方法實(shí)例探究

    Kafka是一種備受歡迎的流處理平臺(tái),具備分布式、可擴(kuò)展、高性能和可靠的特點(diǎn),在處理Kafka數(shù)據(jù)時(shí),有多種最佳實(shí)踐可用來(lái)確保高效和可靠的處理,這篇文章將介紹golang中如何使用kafka方法
    2024-01-01
  • Golang使用gofumpt進(jìn)行代碼格式化

    Golang使用gofumpt進(jìn)行代碼格式化

    這篇文章主要為大家詳細(xì)介紹了Golang如何使用gofumpt進(jìn)行代碼格式化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02

最新評(píng)論

长寿区| 太湖县| 阿勒泰市| 名山县| 新晃| 光泽县| 恩平市| 金堂县| 桃江县| 绵阳市| 荥阳市| 门源| 沽源县| 镇赉县| 甘孜| 稻城县| 新昌县| 大名县| 唐河县| 冀州市| 光山县| 台中县| 乐业县| 沧州市| 百色市| 临泽县| 红安县| 孝义市| 双牌县| 皮山县| 上饶县| 玛多县| 陵川县| 江都市| 荣昌县| 道真| 抚远县| 三台县| 普定县| 米林县| 芷江|