01Go命令介绍

Go 命令介绍

go 提供了一套强大好用的命令系统

go build       编译包和依赖项
go clean       删除目标文件
go env         打印Go环境信息
go fix         在包上运行go tool修复,用来修复老版本到新版本的问题
go fmt         在包源上运行gofmt
go generate    通过处理源生成Go文件
go get         下载并安装包和依赖项
go install     编译和安装包和依赖项
go list        列出包
go run         编译并运行go程序
go test        测试包,运行以 _test.go结尾的文件
go tool        运行指定的go工具
go version     打印go版本
go vet         在包上运行工具go vet,它可以在编译阶段和运行阶段发现bug

详细的官网地址为:中文https://go-zh.org/cmd/go/ 英文:https://golang.org/doc/cmd

介绍几个常用的:

1、go build

go build [-o output][-i] [build flags][packages]

这个命令主要用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。

  • go build 会默认编译当前文件夹下的所有.go结尾的文件
  • go build 会忽略目录下以“_”或“.”开头的 go 文件 ,所以不会编译测试文件
  • build mian包的文件,会在当前目录生成一个可执行文件,其他不会。比如文件 demo.go ,我们进行go build demo.go 如果demo.go 是main包:执行结果会在当前目录生成一个可执行文件。如果想在gopath/bin下生成可执行文件的话需要执行go install 或者 go build -o 路径/name.exe [如果多文件再加上文件名]
  • -o: 仅在编译单个包时允许,强制构建将结果可执行文件或对象写入命名输出文件,注意格式:go build -o 可执行文件名 .go文件名 ,例如 go build -o abc.exe demo.go,就会把demo.go编译并生成abc.exe,当然可以指定路径
  • 可以根据不同的操作系统后缀来命名文件,go build 的时候会选择性地编译以系统名结尾的文件

2、go clean

这个命令是用来移除当前源码包里面编译生成的文件。这些文件包括

_obj/            旧的 object 目录,由 Makefiles 遗留
_test/             旧的 test 目录,由 Makefiles 遗留
_testmain.go     旧的 gotest 文件,由 Makefiles 遗留
test.out         旧的 test 记录,由 Makefiles 遗留
build.out         旧的 test 记录,由 Makefiles 遗留
*.[568ao]          object 文件,由 Makefiles 遗留
DIR(.exe)          由 go build 产生
DIR.test(.exe)  由 go test -c 产生
MAINFILE(.exe)  由 go build MAINFILE.go 产生

一般在提交版本控制前,删除一些编译生成的文件

3、go fmt

格式化代码。go fmt <文件名>.go 一般开发工具都自带

使用 go fmt 命令,更多时候是用 gofmt,而且需要参数-w,否则格式化结果不会写入文件 。gofmt -w src,可以格式化整个项目

4、go get

动态获取远程代码包 ,这个命令在内部实际上分成了两步操作:

第一步是下载源码包,第二步是执行 go install。 go 工具会自动根据不同的域名调用不同的源码工具 ,所以要正常使用确保安装了合适的源码管理工具。

5、go install

生成可执行文件。这个命令在内部实际上分成了两步操作:

第一步是生成结果文件(可执行文件或者.a 包),第二步会把编译好的结果移到$GOPATH/pkg 或者$GOPATH/bin

6、go test

执行这个命令,会自动读取源码目录下面名为*_test.go 的文件,生成并运行测试用的可执行文件。

7、go doc

执行godoc 可以查看bao、文件、以及方法的源码文档。比如:go doc net/http godoc -src fmt Printf 等等。最好用的还是可以在本地搭建文档服务godoc -http=:端口号 然后访问localhost:端口号。如果你的pkg下有自己生成的文件,也会在文档列出来。

8、go run

很实用,编译并直接运行。比如 go run main.go

其他命令或者详细参数,用到的时候可以去查官方文档。

    原文作者:杨旭
    原文地址: https://segmentfault.com/a/1190000018319439
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞