Go命令使用

Admin 2019-05-06 14:29:20 GoLang

1、go install

将编译的中间文件放在 GOPATH 的 pkg 目录下,将编译结果放在 GOPATH 的 bin 目录下。

注意:

  • go install 是建立在 GOPATH 上的,无法在独立的目录里使用 go install

  • GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名

  • go install 输出目录始终为 GOPATH 下的 bin 目录,无法使用-o附加参数进行自定义

  • GOPATH 下的 pkg 目录放置的是编译期间的中间文件

2、go build

Go语言的编译速度非常快,Go 1.9 版本后默认利用 Go 语言的并发特性进行函数粒度的并发编译。

Go语言的程序编写基本以源码方式,无论是自己的代码还是第三方代码,并且以 GOPATH 作为工作目录和一套完整的工程目录规则。因此 Go 语言中日常编译时无须像 C++ 一样配置各种包含路径、链接库地址等。

Go语言中使用 go build 命令将源码编译为可执行文件。go build 有很多种编译方法,如无参数编译、文件列表编译、指定包编译等,使用这些方法都可以输出可执行文件。


-v 编译时显示包名

-p n 开启并发编译,默认情况下该值为 CPU 逻辑核数

-a 强制重新构建

-n 打印编译时会用到的所有命令,但不真正执行

-x 打印编译时会用到的所有命令

-race 开启竞态检测

3、go run

编译源码并执行源码main()函数(不会留下可以执行文件)

4、go get

远程拉取或更新代码包及依赖包


-v 显示操作流程的日志及信息,方便检查错误

-u 下载丢失的包,但不会更新已经存在的包

-d 只下载,不安装

-insecure 允许使用不安全的 HTTP 方式进行下载操作

5、go test

单元测试或性能测试

package test

import (
    "testing"
)

func TestAdd(t *testing.T) {
    str := ""
    for i := 0; i < 100000; i++ {
        str += "test"
    }
}
go test -v -run TestAdd learn_test.go 
=== RUN   TestAdd
--- PASS: TestAdd (3.48s)
PASS
ok      command-line-arguments  3.489s

6、go pprof

分析和定位性能问题,如 CPU 消耗、内存分配及阻塞分析

第三方图形化分析工具(Graphviz)

第三方性能分析包runtime.pprof

相关文章
最新推荐