Go语言常用命令
查看可用命令
直接在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些:
·build: 编译包和依赖
·clean: 移除对象文件
·doc: 显示包或者符号的文档
·env: 打印go的环境信息
·bug: 启动错误报告
·fix: 运行go tool fix
·fmt: 运行gofmt进行格式化
·generate: 从processing source生成go文件
·get: 下载并安装包和依赖
·install: 编译并安装包和依赖
·list: 列出包
·run: 编译并运行go程序
·test: 运行测试
·tool: 运行go提供的工具
·version: 显示go的版本
·vet: 运行go tool vet
命令的使用方式为: go command [args], 除此之外,可以使用go help <command> 来显示指定命令的更多帮助信息。
在运行 go help 时,不仅仅打印了这些命令的基本信息,还给出了一些概念的帮助信息:
·c: Go和c的相互调用
·buildmode: 构建模式的描述
·filetype: 文件类型
·gopath: GOPATH环境变量
·environment: 环境变量
·importpath: 导入路径语法
·packages: 包列表的描述
·testflag: 测试符号描述
·testfunc: 测试函数描述
同样使用 go help <topic>来查看这些概念的的信息。
build 和 run 命令
就像其他静态类型语言一样,要执行 go 程序,需要先编译,然后在执行产生的可执行文件。go build 命令就是用来编译 go程序生成可执行文件的。但并不是所以的 go 程序都可以编译生成可执行文件的, 要生成可执行文件,go程序需要满足两个条件:
·该go程序需要属于main包
·在main包中必须还得包含main函数
也就是说go程序的入口就是 main.main, 即main包下的main函数, 例子(hello.go):
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
编译hello.go,然后运行可执行程序:
$ go run hello.go # 将会生成可执行文件 hello
$ ./hello # 运行可执行文件
Hello World!
上面就是 go build 的基本用法,另外如果使用 go build 编译的不是一个可执行程序,而是一个包,那么将不会生成可执行文件。
而 go run 命令可以将上面两步并为一步执行(不会产生中间文件)。
$ go run hello.go
Hello World!
上面两个命令都是在开发中非常常用的。
此外 go clean 命令,可以用于将清除产生的可执行程序:
$ go clean # 不加参数,可以删除当前目录下的所有可执行文件
$ go clean sourcefile.go # 会删除对应的可执行文件
fmt 和 doc 命令
go 语言有一个褒贬不一的特性,就是对格式的要求很严格,我是很喜欢这个特性的,因为可以保持代码的清晰一致,编译组合开发,并且go还提供了一个非常强大的工具来格式化代码,它就是 go fmt sourcefile.go, 不过通常其实不需要我们手动调用,各种编辑器都可以帮助我们自动完成格式化。
go doc 命令可以方便我们快速查看包文档,go doc package 命令将会在终端中打印出指定 package 的文档。
另外有一个与 go doc 命令相关的命令是 godoc, 可以通过它启动我们自己的文档服务器:
godoc -http=:8080
然后我们就可与在浏览器localhost:8080中查看go文档了
get 命令
这个命令同样也是很常用的,我们可以使用它来下载并安装第三方包, 使用方式:
go get src
从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装,例如我们想使用 beego 来开发web应用,我们首先就需要获取 beego:
go get github.com/astaxie/beego
这条命令将会自动下载安装 beego 以及它的依赖,然后我们就可以使用下面的方式使用:
package main
import "github.com/astaxie/beego" # 这里需要使用 src 下的完整路径
func main() {
beego.Run()
}
install 命令
用来编译和安装go程序,我们可以将它与 build 命令对比:
1.生成的可执行文件路径
2.可执行文件的名字
3.依赖
install
·工作目录下的bin目录下
·与源码所在目录同名
·将依赖的包放到工作目录下的pkg文件夹下
build
·当前目录下
·与源码所在目录同名 默认与源程序同名,可以使用-o选项指定
·-
test 命令
顾名思义,用来运行测试的命令,这种测试是以包为单位的。需要遵循一定规则:
·测试源文件是名称以“_test.go”为后缀的
·测试源文件内含若干测试函数的源码文件
·测试函数一般是以“Test”为名称前缀, 并有一个类型为“testing.T”的参数。
其他命令
其他命令不会经常使用,真的用到的时候,直接使用 go help command 即可查看相关命令。
Go语言常用命令的更多相关文章
- Go语言常用命令介绍
go build go build 命令主要是用于测试编译.在包的编译过程中,若有必要,会同时编译与之相关联的包. 如果是普通包,当你执行go build命令后,不会产生任何文件. 如果是main包, ...
- C语言常用命令
## 基本流程:创建——编辑——编译.链接——执行$ touch 1-1.c$ vim 1-1.c # include <stdio.h>int main{printf("... ...
- R语言常用命令集合
help.start()//打开帮助文档 q()//推出函数 ls()//返回处于现在名空间的对象名称 rm()//清楚对象:rm(list=ls())清除所有内存数据 gc()//垃圾回收数据 sq ...
- R语言常用命令
data() 列出当前已安装包中所有可用的实例数据集 help("name") 查看帮助文档 summary()
- Linux 下 expect 脚本语言中交互处理常用命令
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...
- go语言学习-常用命令(四)
go常用命令 go get:获取远程包(得装git) go run:直接运行程序(写代码时调试用) go build:测试编译,检查是否有编译错误 go fmt:格式化代码(一般不咋用,IDE都自带了 ...
- [No0000A5]批处理常用命令大全
1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- 分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令
Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...
随机推荐
- 008-Java中方法的使用(进阶篇)
目录 一.方法的重载(overload) 一.什么是方法的重载 二.方法执行时的内存变化 一.JVM主要三块内存空间 二.关于栈的数据结构(如图) 三.方法执行过程内存变化(用以下代码演示) 三.方法 ...
- JavaScript实现斐波那契数列
什么是斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&qu ...
- Django+Vue+Docker搭建接口测试平台实战
一. 开头说两句 大家好,我叫林宗霖,是一位测试工程师,也是全栈测开训练营中的一名学员. 在跟着训练营学习完Docker容器技术系列的课程后,理所应当需要通过实操来进行熟悉巩固.正好接口自动化测试平台 ...
- MySQL8安装教程及问题解决
目录 1.下载MySQL的zip文件,解压,在根目录(bin所在的目录)下创建my.ini文件 2.管理员模式打开命令提示符(shell或者说小黑窗),按以下命令操作. 3.不过......我这里密码 ...
- win 远程桌面 ubuntu
开始 起因 因为工作需求经常要远程 局域网内的 Ubuntu设备 之前用的一直是 Teamviver 但是最近不知怎么了,Teamviver发病 打不开了,也懒得折腾了! 简单的记录一下 能用的几种连 ...
- 总结:composer的install和require和update指令。到底什么时候用什么指令
https://packagist.org 相当于是应用商店
- text-align: justify 文本对齐
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 阿里早期Android加固代码的实现分析
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78320445 看雪上有作者(寒号鸟二代)将阿里移动早期的Android加固进行了逆 ...
- POJ2155二维线段树
题意: 给一个n*n的01矩阵,然后有两种操作(m次)C x1 y1 x2 y2是把这个小矩形内所有数字异或一遍,Q x y 是询问当前这个点的值是多少?n<=1000 m<=5 ...
- Windows 2003 Server远程代码执行漏洞集合
目录 MS08-067 CVE-2017-7269 MS08-067 发布日期:2008/10/22 针对端口:139.445 漏洞等级:高危 漏洞影响:服务器服务中的漏洞可能允许远程执行代码 受影响 ...