Golang Tools 介绍
go 安装之后内置了很多工具以帮助开发
gofmt
Usage:
gofmt main.go :格式化 main.go 文件的源码输出到终端
gofmt -w main.go :格式化 main.go 文件并回写到原文件
gofmt -w Tasks :格式化 Tasks 目录下的所有文件并且将格式化内容保存到对应源文件
当提交源代码的时候,强烈推荐使用 gofmt 去格式化源码
godoc
godoc 会从$GOROOT目录下的标准库(library)和$GOPATH/src 目录下的所有项目中的代码注释中生成文档
它有两个接口
web
Usage: godoc –http=:8080net/http 包的文档可以通过 localhost:8080/pkg/net/http 查看。godoc 可以直接查看 go的标准库文档
使用 godoc -v 可以查看 godoc启动扫描详情命令行
Usage: godoc net/http在终端输出 net/http 的文档
go test
golang 内置 testing 支持。举个例子,假设在同一个package(目录),有个文件 file.go,则测试文件为 file_test.go,golang 的编译器会忽略 file_test.go,只编译 file.go,运行 gotest 的时候执行 file_test.go 里面的用例
go build
通过执行 go build构建应用程序,编译器会把所有 *.go
除了*_test.go
进行编译。
如果想给编译的文件指定名称,使用 go build -o tasks
- 构建时间(整个应用+依赖库,编译为一个二进制文件)
- 交叉编译(跨平台)
```sh
env GOOS=darwin GOARCH=386 go build -o tasks.app
env GOOS=windows GOARCH=386 go build -o tasks.exe
env GOOS=linux GOARCH=amd64 go build -o tasks
```
go install
go run
在命令行直接运行应用的入口文件或者直接执行某个文件,会自动编译(编译后文件在临时目录,运行结束会自动删除)
go get
go 内置的 package 管理工具,可以直接从 github 等代码管理站点获取包,但是功能太简单了
go clean
清理 编译后生成的文件,包含如下内容
_obj/
_test/
_testmain.go
test.out
build.out
*.[568ao]
DIR(.exe)
IDR . test(.exe)
MAINFILE(*.exe)
其他常见命令
- go fix
- go version 获取 go 安装包版本
- go env 获取 golang 环境变量
- go list 当前目录下的包