go clean

2021年11月21日 阅读数:1
这篇文章主要向大家介绍go clean,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

执行go clean命令会删除掉执行其它命令时产生的一些文件和目录,包括:html

  1. 在使用go build命令时在当前代码包下生成的与包名同名或者与Go源码文件同名的可执行文件。在Windows下,则是与包名同名或者Go源码文件同名且带有“.exe”后缀的文件。linux

  2. 在执行go test命令并加入-c标记时在当前代码包下生成的以包名加“.test”后缀为名的文件。在Windows下,则是以包名加“.test.exe”后缀为名的文件。咱们会在后面专门介绍go test命令。golang

  3. 若是执行go clean命令时带有标记-i,则会同时删除安装当前代码包时所产生的结果文件。若是当前代码包中只包含库源码文件,则结果文件指的就是在工做区的pkg目录的相应目录下的归档文件。若是当前代码包中只包含一个命令源码文件,则结果文件指的就是在工做区的bin目录下的可执行文件。ide

  4. 还有一些目录和文件是在编译Go或C源码文件时留在相应目录中的。包括:“_obj”和“_test”目录,名称为“_testmain.go”、“test.out”、“build.out”或“a.out”的文件,名称以“.5”、“.6”、“.8”、“.a”、“.o”或“.so”为后缀的文件。这些目录和文件是在执行go build命令时生成在临时目录中的。若是你忘记了这个临时目录是怎么回事儿,能够再回顾一下前面关于go build命令的介绍。临时目录的名称以go-build为前缀。ui

  5. 若是执行go clean命令时带有标记-r,则还包括当前代码包的全部依赖包的上述目录和文件。code

咱们再以goc2p项目的logging为例。为了可以反复体现每一个标记的做用,咱们会使用标记n。使用标记-n会让命令在执行过程当中打印用到的系统命令,但不会真正执行它们。若是想既打印命令又执行命令则需使用标记-x。如今咱们来试用一下go clean命令:htm

hc@ubt:~/golang/goc2p/src$ go clean -x logging   
cd /home/hc/golang/goc2p/src/logging
rm -f logging logging.exe logging.test logging.test.exe

如今,咱们加上标记-i源码

hc@ubt:~/golang/goc2p/src$ go clean -x -i logging   
cd /home/hc/golang/goc2p/src/logging
rm -f logging logging.exe logging.test logging.test.exe
rm -f /home/hc/golang/goc2p/pkg/linux_386/logging.a
上一篇: Clean Docker :
下一篇: gradle clean