前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go 命令

go 命令

作者头像
solate
发布2019-07-22 17:49:04
6690
发布2019-07-22 17:49:04
举报

go 命令

go build

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

  • 普通包: 如果你需要在$GOPATH/pkg 下生成相应的文件,那就得执行 go install 了。
  • main包: 它就会在当前目录下生成一个可执行文件,如果你需要在$GOPATH/bin 下生成相应的文件,需要执行 go install,或者使用 go build -o 路径/a.exe

建议使用 -gcflags "-N -l" 参数关闭编译器代码优化和函数 内联,避免断点和单步执行无法准确对应源码行,避免小函数和局部变量被优化掉。-o 指定存放位置。

go build -gcflags "-N -l" -o test test.go

  • 只编译一个文件, go build 后加上文件名,如go build a.go
  • 默认使用package名,指定名用-o 参数
  • 忽略 "_" 和 "." 开头的文件
  • 针对不同系统,可以根据不同的操作系统后缀来命名文件。

如一个读取数组的程序,它对于不同的操作系统可能有如下几个 源文件:

array_linux.go 
array_darwin.go 
array_windows.go 
array_freebsd.go

go build 的时候会选择性地编译以系统名结尾的文件(linux、darwin、windows、freebsd)。 例如 Linux 系统下面编译只会选择 array_linux.go 文件,其它系统命名后缀文件全部忽略。

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 产生

我一般都是利用这个命令清除编译文件,然后 github 递交源码,在本机测试的时候这些编 译文件都是和系统相关的,但是对于源码管理来说没必要

go fmt

格式化代码,一般用不到。

go get 拉取代码

用来动态获取远程代码包的,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。

这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是 执行 go install。

go install

这个命令在内部实际上分成了两步操作:第一步是生成结果文件(可执行文件或者.a 包), 第二步会把编译好的结果移到$GOPATH/pkg 或者 $GOPATH/bin。

go test

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

go doc

查看对应包的文档,如 执行 go doc net/http 查看http包里面的函数.

一般使用ide 直接进去看,一般不这么用。

godoc -http=:端口号,配置GOPATH. 如 godoc -http=:8080, 浏览器中访问 http://localhost:8080,查看本地和自己写的文档

go doc fmt Printf
go fix

用来修复以前老版本的代码到新版本,例如 go1 之前老版本的代码转化到 go1

go version

查看 go 当前的版本

go env

查看当前 go 的环境变量

go list

列出当前全部安装的 package

go run

编译并运行 Go 程序

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • go 命令
    • go build
      • go clean
        • go fmt
          • go get 拉取代码
            • go install
              • go test
                • go doc
                  • go fix
                    • go version
                      • go env
                        • go list
                          • go run
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档