GO语言学习笔记(二)——Go常用工具

  • go get:该命令可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,下载后自动编译,一般引用依赖用go get就可以了。
  • go build:该命令用于编译我们指定的源码文件或代码包以及它们的依赖包。命令的常用标记说明如下:
标记名称标记描述
-a强行对所有涉及到的代码包(包含标准库中的代码包)进行重新构建,即使它们已经是最新的了。
-n打印编译期间所用到的其它命令,但是并不真正执行它们
  • go fmt和gofmt
    • gofmt是一个cli程序,会优先读取标准输入,如果传入了文件路径的话,会格式化这个文件,如果传入一个目录,会格式化目录中所有.go文件,如果不传参数,会格式化当前目录下的所有.go文件。
    • gofmt默认不对代码进行简化,使用-s参数可以开启简化代码功能
    • gofmt是一个独立的cli程序,而go中还有一个go fmt命令,go fmt命令是gofmt的简单封装。go fmt在调用gofmt时添加了-l -w参数,相当于执行了gofmt -l -w
  • go env :该命令用于打印Go语言的环境信息,常见的通用环境信息如下:
名称说明
GOEXE可执行文件的后缀
GOBIN存放可执行文件的目录的绝对路径。存放可执行文件的目录的绝对路径
  • go run:该命令可以运行命令源码文件,只能接受一个命令源码文件以及若干个库源码文件(必须同属于main包)作为文件参数,且不能接受测试源码文件。它在执行时会检查源码文件的类型。如果参数中有多个或者没有命令源码文件,那么go run命令就只会打印错误提示信息并退出,而不会继续执行。
  • go test :该命令用于对Go语言编写的程序进行测试,这种测试是以代码包为单位的,命令会自动测试每一个指定的代码包。当然,前提是指定的代码包中存在测试源码文件。
  • go clean:该命令会删除掉执行其它命令时产生的一些文件和目录。
  • go list:该命令的作用是列出指定的代码包的信息。与其他命令相同,我们需要以代码包导入路径的方式给定代码包。被给定的代码包可以有多个。这些代码包对应的目录中必须直接保存有Go语言源码文件,其子目录中的文件不算在内。
  • go mody xxx 常用命令如下:
    • go mod init:该命令初始化并写入一个新的go.mod至当前目录中,实际上是创建一个以当前目录为根的新模块。文件go.mod必须不存在。如果可能,init会从import注释(参阅“go help importpath”)或从版本控制配置猜测模块路径。要覆盖此猜测,提供模块路径作为参数 module为当前项目名。
    • go mod tidy:该命令确保go.mod与模块中的源代码一致。它添加构建当前模块的包和依赖所必须的任何缺少的模块,删除不提供任何有价值的包的未使用的模块。它也会添加任何缺少的条目至go.mod并删除任何不需要的条目。
  • go tool xxx 常用命令如下:
    • go tool pprof:在Golang中,可以通过pprof工具对应于程序的运行时进行性能分析,包括CPU、内存、Goroutine等实时信息。
    • go tool trace:该命令可以追踪请求链路,清晰的了解整个程序的调用栈,可以通过追踪器捕获大量信息。

版权声明:本文为qq_54740656原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。