Go语言中常用的命令

go env

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/bruce/Library/Caches/go-build"
GOENV="/Users/bruce/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/bruce/code/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_s/3_g5v459127dx8rz57hkmy_r0000gn/T/go-build885983994=/tmp/go-build -gno-record-gcc-switches -fno-common"

重要配置说明

1.GOBIN

2.GOPATH

go的工作目录,也就是我们项目的代码目录;

如果是多个项目,可以给该配置项配置多个值,配置项目使用”;”隔开,格式如下:
GOPATH="/Users/bruce/code/go;/Users/bruce/code/go1;/Users/bruce/code/go2"

3.GOROOT

go的安装目录

编译命令

go build 源文件

1.该命令会将源文件生成一个二进制格式的可执行文件。

2.生成的可执行文件可以拷贝到其他未安装go运行环境的电脑上。不过需要注意的是电脑系统之间的差距,例如Windows系统生成的是.exe的文件,此文件则不能拷贝到Linux或者Mac系统中使用。

3.可以指定编译后的二进制文件名称。

go build 源文件 -o 编译后的文件名
go build demo.go -o demo

运行命令

go run 源文件

1.该命令会直接输出文件内容,而不会生成上面 go build 所生成的二进制文件。

2.该命令其实是在内部将源文件编译成二进制文件在输出内容。

3.该命令常用于调试程序使用。

go build 和go run 之间的差别

1. go build 会生成一个二进制的文件,而go run则不会生成。

2. go run 虽然没有生成二进制的文件,其实内部是在转换为二进制文件在输出内容。

3.通过上面的两点对比,直接执行 go build 生成的二进制文件效率比执行 go run 的效率更高。

代码格式化命令

该命令会将指定的文件名的内容进行标准格式化,并输出到终端(但是不会真正的格式文件的内容,如果需要将格式化后的代码添加到文件中需要添加-w参数)。

gofmt [参数] 文件名
-cpuprofile string
      write cpu profile to this file
将cpu的配置信息写入到指定的文件内
-d	display diffs instead of rewriting files
对比变更的文件内容(类似于git版本管理工具的git diff命令)
-e	report all errors (not just the first 10 on different lines)
显示错误信息
-l	list files whose formatting differs from gofmt's
列出格式与gofmt不同的文件
-r string
      rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
重写规则
-s	simplify code
简化代码
-w	write result to (source) file instead of stdout
将格式化输出到终端的代码写入到文件中.
我来评几句
登录后评论

已发表评论数()

相关站点

热门文章