在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ GO/ 標(biāo)準(zhǔn)命令詳解
go install
go clean
go list
go test
go doc與godoc
go build
go fix與go tool fix
go tool pprof
go run
go env
go tool cgo
標(biāo)準(zhǔn)命令詳解
go get
go vet與go tool vet

標(biāo)準(zhǔn)命令詳解

Go語(yǔ)言的1.5版本在標(biāo)準(zhǔn)命令方面有了重大變更。這倒不是說(shuō)它們的用法有多大的變化,而是說(shuō)它們的底層支持已經(jīng)大變樣了。讓我們先來(lái)對(duì)比一下$GOROOT/pkg/tool/<平臺(tái)相關(guān)目錄>中的內(nèi)容。以下簡(jiǎn)稱此目錄為Go工具目錄。

插播:平臺(tái)相關(guān)目錄即以_命名的目錄,用于存放因特定平臺(tái)的不同而不同的代碼包歸檔文件或可執(zhí)行文件。其中,代表特定平臺(tái)的操作系統(tǒng)代號(hào),而則代表特定平臺(tái)的計(jì)算架構(gòu)代號(hào)。使用go env命令便可查看它們?cè)谀愕挠?jì)算機(jī)中的實(shí)際值。

1.4版本的Go工具目錄的內(nèi)容如下:

5a        5l        6g        8c        addr2line dist      objdump   tour
5c        6a        6l        8g        cgo       fix       pack      vet
5g        6c        8a        8l        cover     nm        pprof     yacc

下面是Go 1.5版本的:

addr2line asm       compile   dist      fix       nm        pack      tour      vet
api       cgo       cover     doc       link      objdump   pprof     trace     yacc

可以看到,1.5版本的目錄內(nèi)容精簡(jiǎn)了不少。這是因?yàn)镚o 1.5的編譯器、鏈接器都已經(jīng)完全用Go語(yǔ)言重寫(xiě)了。而在這之前,它們都是用C語(yǔ)言寫(xiě)的,因此不得不為每類平臺(tái)編寫(xiě)不同的程序并生成不同的文件。例如,8g、6g和5g分別是gc編譯器在x86(32bit)、x86-64(64bit)和ARM計(jì)算架構(gòu)的計(jì)算機(jī)上的實(shí)現(xiàn)程序。相比之下,用Go語(yǔ)言實(shí)現(xiàn)的好處就是,編譯器和鏈接器都將是跨平臺(tái)的了。簡(jiǎn)要來(lái)說(shuō),Go 1.5版本的目錄中的文件compile即是統(tǒng)一后的編譯器,而文件link則是統(tǒng)一后的鏈接器。

本教程并不會(huì)講解Go語(yǔ)言的編譯器、鏈接器以及其它工具是怎樣被編寫(xiě)出來(lái)的,并只會(huì)關(guān)注于怎樣用好包含它們?cè)趦?nèi)的Go語(yǔ)言自帶的命令和工具。

為了讓講解更具關(guān)聯(lián)性,也為了讓讀者能夠更容易的理解這些命令和工具,本教程并不會(huì)按照這些命令的字典順序描述它們,而會(huì)按照我們?cè)趯?shí)際開(kāi)發(fā)過(guò)程中通常的使用順序以及它們的重要程度來(lái)逐一進(jìn)行說(shuō)明?,F(xiàn)在,我們就先從go build命令開(kāi)始。

上一篇:go test下一篇:go fix與go tool fix