go语言学习-经常使用命令

前面的文章中记录了安装 golang 和配置开发环境,本文将学习的 go 命令行命令以及使用场景。git

查看可用命令

直接在终端中输入 go help 便可显示全部的 go 命令以及相应命令功能简介,主要有下面这些:github

  • 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> 来显示指定命令的更多帮助信息。golang

在运行 go help 时,不单单打印了这些命令的基本信息,还给出了一些概念的帮助信息:web

  • c: Go和c的相互调用
  • buildmode: 构建模式的描述
  • filetype: 文件类型
  • gopath: GOPATH环境变量
  • environment: 环境变量
  • importpath: 导入路径语法
  • packages: 包列表的描述
  • testflag: 测试符号描述
  • testfunc: 测试函数描述

一样使用 go help <topic>来查看这些概念的的信息。浏览器

build 和 run 命令

就像其余静态类型语言同样,要执行 go 程序,须要先编译,而后在执行产生的可执行文件。go build 命令就是用来编译 go程序生成可执行文件的。但并非因此的 go 程序均可以编译生成可执行文件的, 要生成可执行文件,go程序须要知足两个条件:bash

  • 该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 命令对比:

install build
生成的可执行文件路径 工做目录下的bin目录下 当前目录下
可执行文件的名字 与源码所在目录同名 默认与源程序同名,可使用-o选项指定
依赖 将依赖的包放到工做目录下的pkg文件夹下 -

test 命令

顾名思义,用来运行测试的命令,这种测试是以包为单位的。须要遵循必定规则:

  • 测试源文件是名称以“_test.go”为后缀的
  • 测试源文件内含若干测试函数的源码文件
  • 测试函数通常是以“Test”为名称前缀, 并有一个类型为“testing.T”的参数。

其余命令

其余命令不会常常使用,这里就不介绍了,真的用到的时候,直接使用 go help command 便可查看相关命令。

相关文章
相关标签/搜索