go——标准命令
Go本身包含大量用户处理Go程序的命令和工具.
1.子命令
go命令的子命令:
build:用于编译指定的代码包或Go语言源码文件.
命令源码文件会被编译成可执行文件,并存放到命令执行的目录或指定目录下.
而库源码文件被编译后,则不会在非临时目录中留下任何文件.
clean:用于清除因执行其它go命令而遗留下来的临时目录和文件.
doc:用于显示Go语言代码包以及程序实体的文档.
env:用于打印go语言相关的环境信息.
fix:用于修正指定代码包的源码文件中包含的过时语法和代码调用.
fmt:用于格式化指定代码包中的Go源码文件.实际上是通过执行gofmt命令来实现功能的.
generate:用于识别指定代码吧中源码文件中的go:generate注释,并执行其携带的任意命令.
该命令独立于Go语言标准的编译和安装体系.
如果你有需要解析的go:generate注释,就单独运行它.常用于自动生成或改动Go源码文件.
get:用于下载,编译并安装指定的代码包及其依赖包.
install:用于编译并安装指定的代码包及其依赖包.
go install 的功能和 go build 类似,附加参数绝大多数都可以与 go build 通用。
go install 只是将编译的中间文件放在 GOPATH 的 pkg 目录下,以及固定地将编译结果放在 GOPATH 的 bin 目录下。
安装命令源码文件后,代码包所在的工作区目录的bin子目录,或者当前环境变量GOBIN指向的目录中会生成相应的可执行文件.
安装库源码文件后,会在代码包所在的工作区目录的pkg子目录中生成相应的归档文件.
list:用于显示指定代码包的信息.
利用Go语言标准库代码包text/template中规定的模板语法,你可以非常灵活地控制输出信息.
run:用于编译并运行指定地命令源码文件.
test:用于测试指定地代码包,前提是该代码包目录中存在测试源码文件.
tool:用于运行Go语言的特殊工具
vet:用于检查指定代码包中的Go语言源码,并报告发现可疑代码问题.
该命令提供了除编译以外的有一个程序检查方法,可以用来找到程序中的潜在错误.
version:用于显示当前安装的Go语言的版本信息以及计算环境.
2.标记
执行上述命令的时候,可以通过附加一些额外的标记来定制命令的执行过程.
go命名的一些标记:
-a:用于强行重新编译所有涉及的Go语言的代码包(包括Go语言标准库中的代码包),即使它们已经是最新的了.
-n:使命令仅打印其执行过程中用到的所有命令,而不真正执行它们.
如果只想或查看命令的执行过程,而不想改变任何东西,使用它正合适.
-race:用于检测并报告Go语言程序中存在的数据竞争问题.当用Go语言编写并发程序时,这是重要的检测手段.
-v:用于打印命令执行过程中涉及的代码包.这一定包括我们指定的目标代码包,
并且有时还会包括该代码包直接或简介依赖的那些代码包.这会让你知道那些代码包被处理过.
-work:用于打印命令执行时生成和使用的临死工作目录的名字,且命令执行完成后不删除它.
这个目录下的文件可能对你有用,也可以从侧面了解命令的执行过程.
如果不添加此标记,那么临时目录会在命令执行完毕前删除.
-x:使命令打印其执行过程中用到的所有命令,同时执行它们.
3.工具
[root@centos001 example.v2]# go tool
addr2line
asm
buildid
cgo
compile
cover
dist
doc
fix
link
nm
objdump
pack
pprof
test2json
tour
trace
vet
(1)pprof
用于以交互的方式访问一些性能概要文件.命令将会分析给定的概要文件,并根据要求提供高可读性的输出信息.
这个工具可以分析的概要文件包括CPU的概要文件\内存概要文件和程序阻塞概要文件.
这些包含Go程序运行信息的概要文件,可以通过标准库代码包runtime和runtime/pprof来生成.
(2)trace
用于读取Go程序踪迹文件,并以图形化的方式展示出来.
它可以让我们深刻了解Go程序在运行过程中的内部情况.
比如当前进程堆中的大小及使用情况,程序中的多个goroutine是怎样被调度的,以及它们在某个时刻被调度的原因.
上面两个工具对程序调优非常有帮助.
go——标准命令的更多相关文章
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- SVN标准命令
SVN标准命令 范例 checkout 检出 svn co URL 检出app/search/news/apache/主干上最新版本到本地工作副本,可执行命令: svn co https://s ...
- 【Go命令教程】1. 标准命令详解
Go 语言的 1.5 版本在标准命令方面有了重大变更.这倒不是说它们的用法有多大的变化,而是说它们的底层支持已经大变样了.让我们先来对比一下 $GOROOT/pkg/tool/< 平台相关目录 ...
- Golang的标准命令简述
Golang的标准命令简述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go本身包含了大量用于处理Go程序的命令和工具.go命令就是其中最常见的一个,它有许多子命令,接下来就跟随 ...
- FTP协议标准命令
FTP:文件传输协议(File Transfer Protocol) 文件传输协议(FTP)使得主机间可以共享文件.FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连 ...
- golang标准命令
go build:编译(源码文件/代码包/依赖包) go install:编译并安装 go run:编译后并运行 go test go get:动态获取远程源码包 go generate go ver ...
- liunx 磁盘管理命令记录
Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...
- linux系统目录结构与层级命令使用
笔者使用的是ubuntu,这里以ubuntu为例子. 一.目录层级结构说明: 1./---------(根目录),所有的目录都挂在其下: 2./boot--------- 存放Ubuntu内核和系统启 ...
- Windows WMIC命令使用详解
本文转载出处http://www.jb51.net/article/49987.htm www.makaidong.com/博客园文/32743.shtml wmic alias list brief ...
随机推荐
- 【Mac + Git】之git status中文文件名编码问题解决
一.现象: 命令行输入:git status时,显示中文名乱码问题 二.解决办法: 命令行输入: git config --global core.quotepath false 通过将git配置变量 ...
- node.js安装与入门使用
一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 的包管理器 npm,是全球最大的开源库生态系统. 提供事件驱动和非阻塞I/O API,可优化应用程序的吞吐量和规 ...
- 安装第三方模块时遇到Python version 2.7 required, which was not found
## script to register Python 2.0 or later for use with win32all# and other extensions that require P ...
- python笔记-基础入门
Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单. 2.易于阅读:Python代码定义的更清晰. 3.易于维护:Python的成功在于 ...
- EJB EJB定义了一组可重用的组件:Enterprise Beans
EJB EJB定义了一组可重用的组件:Enterprise Beans.开发人员可以利用这些组件,像搭积木一样建立分布式应用.
- 8127 timeout!!! 搞死人啊
ti 81xx 系列的 timeout搞死人啊 种类繁多 坑爹啊!! 今天终于找出了8127的一种以个timeout bug情况,妹的这个问题坑了我将近两个月,xxxx,这里我想说下情况,有些地方可能 ...
- WPF通过异常来验证用户输入
在WPF中使用数据绑定,如果用户输入和绑定类型转换失败,控件就会显示出现错误的模板, 比如一个Textbox绑定到一个int 属性,如果用户输入一个string,那这个textbox就会显示错误模板, ...
- Alpha matting算法发展
一.抠图算法简介 Alpha matting算法研究的是如何将一幅图像中的前景信息和背景信息分离的问题,即抠图.这类问题是数字图像处理与数字图像编辑领域中的一类经典问题,广泛应用于视频编缉与视频分割领 ...
- 第七篇:使用 fcntl 函数 获取,设置文件的状态标志
前言 当打开一个文件的时候,我们需要指定打开文件的模式( 只读,只写等 ).那么在程序中如何获取,修改这个文件的状态标志呢? 本文将告诉你如何用 fcntl函数 获取指定文件的状态标志. 解决思路 1 ...
- 关于在ubuntu平台下使用apt-get命令下载速度太慢的问题解决
1. 进入设置,从哪进都一样找到就行. 2.选择软件与更新(Software and updates,英语估计是这个把) 点击下载自:这个下拉框,选中其它站点,选择镜像 选择阿里的或者搜狐的镜像,然后 ...