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 便可查看相關命令。

相關文章
相關標籤/搜索