《Go語言四十二章經(jīng)》第一章 Go安裝與運行

作者:李驍

Go語言是一門全新的靜態(tài)類型開發(fā)語言,具有自動垃圾回收,豐富的內(nèi)置類型, 函數(shù)多返回值,錯誤處理,匿名函數(shù), 并發(fā)編程,反射,defer等關(guān)鍵特征,并具有簡潔、安全、并行、開源等特性。從語言層面支持并發(fā),可以充分的利用CPU多核,Go語言編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程。系統(tǒng)標準庫功能完備,尤其是強大的網(wǎng)絡(luò)庫讓建立Web服務(wù)成為再簡單不過的事情。簡單易學(xué),內(nèi)置runtime,支持繼承、對象等,開發(fā)工具豐富,例如gofmt工具,自動格式化代碼,讓團隊代碼風(fēng)格完美統(tǒng)一。同時Go非常適合用來進行服務(wù)器編程,網(wǎng)絡(luò)編程,包括Web應(yīng)用、API應(yīng)用,分布式編程等等。

“Go讓我體驗到了從未有過的開發(fā)效率?!惫雀栀Y深工程師羅布·派克(Rob Pike)如是說道,和C++或C一樣,Go是一種系統(tǒng)語言,他表示,“使用它可以進行快速開發(fā),同時它還是一個真正的編譯語言,我們之所以現(xiàn)在將其開源,原因是我們認為它已經(jīng)非常有用和強大?!?/p>

Go語言自2009年面世以來,已經(jīng)有越來越多的公司開始轉(zhuǎn)向Go語言開發(fā),比如騰訊、百度、阿里、京東、小米以及360,而七牛云其技術(shù)棧基本上完全采用Go語言來開發(fā)。還有像今日頭條、UBER這樣的公司,他們也使用Go語言對自己的業(yè)務(wù)進行了徹底的重構(gòu)。在全球范圍內(nèi)Go語言的使用不斷增長,尤其是在云計算領(lǐng)域,用Go語言編寫的幾個主要云基礎(chǔ)項目如Docker和Kubernetes,都取得了巨大成功。除此之外,還有各種有名的項目如etcd/consul/flannel等等,均使用Go語言實現(xiàn)。

Go語言有兩快,一是編譯運行快,還有一個是學(xué)習(xí)上手快。Go語言的學(xué)習(xí)曲線并不陡峭,無論是剛開始接觸編程的朋友,還是有其他語言開發(fā)經(jīng)驗而打算學(xué)習(xí)Go語言的朋友,大家都可以放心大膽來學(xué)習(xí)和了解Go語言,“它值得擁有!”

讓我們開始Go語言學(xué)習(xí)之旅吧!

1.1 Go安裝

要用Go語言來進行開發(fā),需要先搭建開發(fā)環(huán)境。Go 語言支持以下系統(tǒng):

  • Linux
  • FreeBSD
  • Mac OS
  • Windows

首先需要下載Go語言安裝包,Go語言的安裝包下載地址為:https://golang.org/dl/ , 國內(nèi)可以正常下載地址:https://golang.google.cn/dl/

源碼編譯安裝

Go語言是谷歌2009發(fā)布的第二款開源編程語言。經(jīng)過幾年的版本更迭,目前Go已經(jīng)發(fā)布1.11版本,UNIX/Linux/Mac OS X,和 FreeBSD系統(tǒng)下可使用如下源碼安裝方法:

(1)下載源碼包:https://golang.google.cn/dl/go1.11.1.linux-amd64.tar.gz
(2)將下載的源碼包解壓至 /usr/local目錄:
tar -C /usr/local -xzf go1.11.1.linux-amd64.tar.gz
(3)將 /usr/local/go/bin 目錄添加至PATH環(huán)境變量:
export PATH=$PATH:/usr/local/go/bin
(4)設(shè)置GOPATH,GOROOT環(huán)境變量:
GOPATH是工作目錄,GOROOT為Go的安裝目錄,這里為/usr/local/go/

注意:MAC系統(tǒng)下你可以使用 .pkg 結(jié)尾的安裝包直接雙擊來完成安裝,安裝目錄在 /usr/local/go/ 下。

Windows系統(tǒng)下安裝

我們在Windows系統(tǒng)下一般采用直接安裝,下載go1.11.1.windows-amd64.zip版本,直接解壓到安裝目錄D:\Go,然后把D:\Go\bin目錄添加到 PATH 環(huán)境變量中。

另外,還需要設(shè)置2個重要環(huán)境變量:

GOPATH=D:\goproject
GOROOT=D:\Go\

以上三個環(huán)境變量設(shè)置好后,我們就可以開始正式使用Go語言來開發(fā)了。

Windows系統(tǒng)也可以選擇go1.11.1.windows-amd64.msi,雙擊運行程序根據(jù)提示來操作。

GOPATH是我們的工作目錄,可以有多個,用分號隔開。
GOROOT為Go的安裝目錄。

Win+R打開CMD(注意:設(shè)置環(huán)境變量后需要重新打開CMD),輸入 go ,如下顯示說明Go語言運行環(huán)境已經(jīng)安裝成功:

D:\goproject\src>go
Go is a tool for managing Go source code.

Usage:

        go <command> [arguments]

The commands are:

        bug         start a bug report
        build       compile packages and dependencies
        clean       remove object files and cached files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         update packages to use new APIs
        fmt         gofmt (reformat) 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 or modules
        mod         module maintenance
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         report likely mistakes in packages

Use "go help <command>" for more information about a command.

Additional help topics:

        buildmode   build modes
        c           calling between Go and C
        cache       build and test caching
        environment environment variables
        filetype    file types
        go.mod      the go.mod file
        gopath      GOPATH environment variable
        gopath-get  legacy GOPATH go get
        goproxy     module proxy protocol
        importpath  import path syntax
        modules     modules, module versions, and more
        module-get  module-aware go get
        packages    package lists and patterns
        testflag    testing flags
        testfunc    testing functions

Use "go help <topic>" for more information about that topic.

另外,我們輸入go version,可看到我們安裝的Go版本,如圖所示:

gv.png

在本書中,所有代碼編譯運行和標準庫的說明講解都基于go1.11,還沒有升級的用戶請及時升級。

$GOPATH允許多個目錄,當(dāng)有多個目錄時,請注意分隔符,多個目錄的時候Windows是分號;

當(dāng)有多個$GOPATH時默認將go get獲取的包存放在第一個目錄下。

$GOPATH目錄約定有三個子目錄

  • src存放源代碼(比如:.go .c .h .s等) 按照Go 默認約定,go run,go install等命令的當(dāng)前工作路徑(即在此路徑下執(zhí)行上述命令)。
  • pkg編譯時生成的中間文件(比如:.a)
  • bin編譯后生成的可執(zhí)行文件,接下來就可以試試代碼編譯運行了。

文件名: test.go,代碼如下:

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}

使用go命令執(zhí)行以上代碼輸出結(jié)果如下:

D:\goproject>go run test.go

Hello,World!

1.2 Go語言開發(fā)工具

LiteIDE是一款開源、跨平臺的輕量級 Go 語言集成開發(fā)環(huán)境(IDE)。在安裝LiteIDE之前一定要先安裝Go語言環(huán)境。LiteIDE支持以下的操作系統(tǒng):
Windows x86 (32-bit or 64-bit)
Linux x86 (32-bit or 64-bit)

LiteIDE可以通過以下途徑下載:

下載地址:https://sourceforge.net/projects/liteide/files/

源碼地址:https://github.com/visualfc/liteide

golang中國:https://www.golangtc.com/download/liteide

也提供下載,國內(nèi)下載速度可能會快一些,但版本更新較慢,建議還是選擇官方地址下載。

Windows直接安裝:

Windows下選擇 liteidex35.1.windows-qt5.9.5.zip,下載之后解壓,在liteide\bin文件夾下找到liteide.exe,雙擊運行。

如果不出意外,將會出現(xiàn)LiteIDE的運行界面。

有關(guān)LiteIDE 的使用相對來說比較簡單,很容易上手,就不在此細說了。

源碼編譯安裝:

LiteIDE源碼位于https://github.com/visualfc/liteide上。需要使用Qt4/Qt5來編譯源代碼,Qt庫可以從https://qt-project.org/downloads上獲取。Mac OS X用戶可以不從源代碼編譯Qt,直接在終端中運行brew update && brew install qt,節(jié)省大量時間。

有關(guān)LiteIDE 安裝的更多說明請訪問: http://liteide.org/cn/doc/install/

其他的開發(fā)工具還有Eclipse以及其集成goeclipse開發(fā)插件,以及Sublime text等,可以根據(jù)個人喜好情況選擇使用。

現(xiàn)在Go 語言和開發(fā)工具我們都已經(jīng)安裝完成,接下來我們開始學(xué)習(xí)Go的基礎(chǔ)知識,并實際使用他們來進行練習(xí)和開發(fā)。

本書《Go語言四十二章經(jīng)》內(nèi)容在github上同步地址:https://github.com/ffhelicopter/Go42

雖然本書中例子都經(jīng)過實際運行,但難免出現(xiàn)錯誤和不足之處,煩請您指出;如有建議也歡迎交流。
聯(lián)系郵箱:roteman@163.com

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

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