4

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=:8080

    net/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 当前目录下的包

luxixing
3k 声望119 粉丝

最近在学习大数据相关知识