首页  >  文章  >  后端开发  >  go clean有什么用

go clean有什么用

青灯夜游
青灯夜游原创
2023-01-28 11:28:131552浏览

在Go语言中,“go clean”命令用于移除当前源码包和关联源码包里面编译生成的文件。移除的文件可以是:1、执行“go build”命令时在当前目录下生成的与包名或者源码文件同名的可执行文件;2、执行“go test”命令并加入“-c”标记时在当前目录下生成的以包名加“.test”后缀为名的文件;3、执行“go install”命令安装当前代码包时产生的结果文件等等。

go clean有什么用

本教程操作环境:windows10系统、GO 1.18版本、Dell G3电脑。

Go语言中go clean命令可以移除当前源码包和关联源码包里面编译生成的文件,这些文件包括以下几种:

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

  • 执行go test命令并加入-c标记时在当前目录下生成的以包名加“.test”后缀为名的文件。在 Windows 下,则是以包名加“.test.exe”后缀的文件。

  • 执行go install命令安装当前代码包时产生的结果文件。如果当前代码包中只包含库源码文件,则结果文件指的就是在工作区 pkg 目录下相应的归档文件。如果当前代码包中只包含一个命令源码文件,则结果文件指的就是在工作区 bin 目录下的可执行文件。

  • 在编译 Go 或 C 源码文件时遗留在相应目录中的文件或目录 。包括:“_obj”和“_test”目录,名称为“_testmain.go”、“test.out”、“build.out”或“a.out”的文件,名称以“.5”、“.6”、“.8”、“.a”、“.o”或“.so”为后缀的文件。这些目录和文件是在执行go build命令时生成在临时目录中的。

go clean命令还可以指定一些参数。对应的参数的含义如下所示:

  • -i 清除关联的安装的包和可运行文件,也就是通过go install安装的文件;

  • -n 把需要执行的清除命令打印出来,但是不执行,这样就可以很容易的知道底层是如何运行的;

  • -r 循环的清除在 import 中引入的包;

  • -x 打印出来执行的详细命令,其实就是 -n 打印的执行版本;

  • -cache 删除所有go build命令的缓存

  • -testcache 删除当前包所有的测试结果

一般都是利用go clean命令清除编译文件,然后再将源码递交到 github 上,方便对于源码的管理。

下面我们以本地的一个项目为例,演示一下go clean命令:

go clean -n
cd D:\code
rm -f code code.exe code.test code.test.exe main main.exe

在命令中使用-n标记可以将命令的执行过程打印出来,但不会正真执行。如果既要打印命令的执行过程同时又执行命令的话可以使用-x标记,如下所示:

go clean -x
cd D:\code
rm -f code code.exe code.test code.test.exe main main.exe

1.gif
图:go clean 命令运行前后对比

【相关推荐:Go视频教程编程教学

以上是go clean有什么用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn