Go語言入門 【一】:安裝與環(huán)境配置

go吉祥物

本篇主要介紹go的生態(tài)。包括安裝,ide,go命令三部分。隨著作者的持續(xù)學(xué)習(xí),內(nèi)容可能會(huì)有所更新。

安裝

截止到本文撰寫,go的版本更新到了1.7.3.通常來說,安裝go只需要到https://golang.org/dl/ 官網(wǎng)去下載對(duì)應(yīng)的包安裝即可。mac用戶也可以通過homebrew,至于ubuntu用戶也可以通過apt-get方式,這一點(diǎn)與尋常軟件一致。

安裝完成后,在控制臺(tái)輸入go version,控制臺(tái)返回類似
go version go1.7.1 darwin/amd64 即表示成功。

驗(yàn)證完畢之后,還需要開發(fā)者配置幾個(gè)環(huán)境變量:
對(duì)于macOS,作者配置在~/.zshrc中(通過官網(wǎng)下載的安裝包安裝):

export GOROOT=/usr/local/go
export GOPATH=$HOME/goworkspace
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

GOROOT:類似于Java中的JAVA_HOME,配置到go的安裝目錄,取決于安裝方式和操作系統(tǒng)的不同,位置也不盡相同。
GOPATH:這個(gè)變量在其他語言中不常見,相當(dāng)于是workspace,要存放代碼,打包后的模塊,可執(zhí)行文件。配置之后配合后面講到的go命令十分方便,可以看出go語言是一門工程化至上的語言。這里只要自定義一個(gè)目錄即可。
PATH中加入這兩個(gè)路徑含義是可以直接在任何地方執(zhí)行g(shù)o生成的可執(zhí)行文件。

至此,安裝工作就全部結(jié)束了。

開發(fā)工具

總的來說go的開發(fā)工具相對(duì)Java較弱,主要有:

  • LiteIDE
  • Sublime
  • Vim
  • Eclipse
  • IntelliJ IDEA

5種選擇,只有用LiteIDE可以比較方便的進(jìn)行調(diào)試,其他工具都需要配置GDB,并且不是專門為go寫的ide。而LiteIDE目前的版本還比較粗糙,作者選擇的是Sublime。

通過packageControl添加gosublime

安裝GoSublime插件后可以執(zhí)行代碼跳轉(zhuǎn),代碼提示。調(diào)試基本靠print,當(dāng)做鍛煉自己的語言熟悉程度了。詳細(xì)的ide安裝步驟建議另行谷歌。

go命令

go命令是go中十分有特色的一個(gè)部分,通過go命令,可以很方便的實(shí)現(xiàn)其他語言需要第三方工具來做到的一些功能(如包管理)。
先來個(gè)匯總:

Go is a tool for managing Go source code.

Usage:

        go command [arguments]

The commands are:

        build       compile packages and dependencies
        clean       remove object files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         run go tool fix on packages
        fmt         run gofmt on package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         run go tool vet on packages

這是所有支持的命令。常用解釋如下:
build: 將一個(gè).go格式的源文件編譯成可執(zhí)行文件或模塊,這取決于代碼中的package,如果是package main,一般編譯為可執(zhí)行文件并生成到當(dāng)前的目錄。

install: build的同時(shí),安裝到(即拷貝到)GOPATH/bin目錄下,這樣在任何地方都可以執(zhí)行了。

get: 相當(dāng)于Java中的maven, gradle 做的事情了,如代碼中使用到了一個(gè)第三方包github.com/go-sql-driver/mysql , 我們需要在build之前執(zhí)行 go get github.com/go-sql-driver/mysql 。系統(tǒng)將會(huì)把代碼下載到GOPATH/src/github.com/go-sql-driver/mysql?目錄結(jié)構(gòu)之下,這個(gè)目錄結(jié)構(gòu)是一個(gè)約定。之后,通過build命令就可以將這個(gè)包包含的代碼一并編譯。從這里可以看出go高度自由的包管理,同時(shí)對(duì)開源十分友好,工程化便捷沒有多余操作。

fmt:執(zhí)行g(shù)o fmt xxx.go之后,將對(duì)目標(biāo)文件的代碼風(fēng)格統(tǒng)一化,如大括號(hào){}不另起一行,刪除多余的空行等。在協(xié)作中統(tǒng)一所有人的編碼風(fēng)格是很好的。

run: 直接運(yùn)行一個(gè).go文件,不生成可執(zhí)行文件。如 go run test.go

doc:doc命令現(xiàn)在被godoc命令所替代,需要安裝godoc:

go get -v  golang.org/x/tools/cmd/godoc

這里也許需要翻墻,安裝好之后,成為一個(gè)查看代碼文檔的簡便工具。比如查詢fmt.Println函數(shù)用法:

[~]$ godoc fmt Println
use 'godoc cmd/fmt' for documentation on the fmt command

func Println(a ...interface{}) (n int, err error)
    Println formats using the default formats for its operands and writes to
    standard output. Spaces are always added between operands and a newline
    is appended. It returns the number of bytes written and any write error
    encountered.

另外,通過命令在命令行執(zhí)行 godoc -http=:端口號(hào) 比如godoc -http=:8080。然后在瀏覽器中打開127.0.0.1:8080,你將會(huì)看到一個(gè)golang.org的本地copy版本,真是欲罷不能。

另外的一些命令:
go version 查看go當(dāng)前的版本
go env 查看當(dāng)前go的環(huán)境變量
go test 執(zhí)行這個(gè)命令,會(huì)自動(dòng)讀取源碼目錄下面名為*_test.go的文件,生成并運(yùn)行測(cè)試用的可執(zhí)行文件。
go list 列出當(dāng)前全部安裝的package

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容