1. 程式人生 > >golang學習筆記(1):安裝&helloworld

golang學習筆記(1):安裝&helloworld

golang

安裝:

golang編譯器安裝過程比較簡單,也比較快,不同平臺下(win/linux/macos)都比較相似;

https://dl.gocn.io/golang/1.9.2/go1.9.2.src.tar.gz 下載對應的系統版本的編譯器

go的版本號由"." 分為3部分

如當前的最新版本為1.9.2,那麽其中第一個數字代表go的大版本,目前為1.0版本;

第二個數字表示小版本,主要是各種優化與BUG修復,以及一些新的語言特性;

第三個數字表示緊急修復版本;

golang官方承諾大版本號相同的情況下,語法格式不會有變化,而目前沒有任何GO2.0的消息,因此當前最新版本會始終保持對低版本的向下兼容,因此始終用最高的版本即可;

安裝方式有兩種:

·源碼編譯安裝,然後配置環境變量

·直接下載對應操作系統的二進制文件,然後配置環境變量

下面分別介紹

1、源碼編譯安裝

1.5以下的golang編譯器需要用gcc編譯,而1.5及以上的golang編譯器則需要通過golang自身來編譯,因此如果當前系統下沒有golang編譯器,需要先用gcc編譯一個低版本(<1.4.x)的golang編譯器,然後用這個低版本的 golang編譯器進行編譯最新版的golang編譯器。

具體編譯的方式是運行 xxx/go/src/make.bash,其中第二次,也就是用低版本的go編譯高版本的go,需要設置一個環境變量:

export GOROOT_BOOTSTRAP=‘低版本go的根路徑’,然後再執行make.bash

技術分享圖片

2、直接下載二進制文件

其實有更簡單的辦法,那就是直接下載對應操作系統版本的二進制文件,缺點是相對源碼安裝的方式會比較大。(這種簡單粗暴的安裝方式也體現出了go的特性與優勢,那就是只認內核 ,因此go程序部署非常方便,直接拷貝編譯好的二進制文件即可,不需要任何依賴,因此也不存在所謂go環境的說法)

不管用哪種方式安裝,最終在go目錄下會存在 bin/go 的可執行文件,這就是golang的解釋器

執行 bin/go version

技術分享圖片

如果能打印出上圖這樣的結果,就表示golang編譯器安裝成功了~

安裝完畢以後還需要配置環境變量,需要配置以下3個環境變量:

· PATH : go命令行

· GOROOT : 各種依賴庫的路徑

· GOPATH : 工程路徑

以linux操作系統為例,可以直接修改~/.bashrc ,配置$GOROOT和GOPATH,並在PATH下追加,示例:

export GOROOT=/home/work/code/go

export GOPATH=/home/work/go

export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

配置完成後別忘了 source ~/.bashrc,然後在命令行執行 go env 看一看相應的配置是否正確,至此,GO的"開發環境"已經搭建完成。


helloworld:

接下來編譯、執行第一個golang程序;

在任意路徑下創建一個文件 hello.go,編寫如下代碼:

技術分享圖片

然後執行 go run hello.go,如果環境配置的沒有問題,應該會將這段字符串輸出;

go run 命令表示編譯並執行;

直接編譯的命令是: go build hello.go, 執行它,會在當前路徑下生成一個名為 hello 的可執行文件;

技術分享圖片

因此 go run 可以近似的理解為,按順序先後執行3個命令: go build hello.go && ./hello && rm hello;

至此,第一個go程序實現完成


編輯器的配置(linux):

首先了解幾個非常實用的工具:

go fmt: 自動格式化代碼,這個是自帶的

goimports: 自動管理代碼中引用的包(自動添加、移除引用),需要手動安裝,方法如下:

mkdir -p $GOPATH/src/golang.org/x

git clone https://github.com/golang/tools.git

go install golang.org/x/tools/smd/goimports

linux下開發go程序,可以通過samba連接,然後使用vs code、sublime之類的工具,也可以直接用VIM,下面介紹一下VIM的配置方式 (待續)


TIP:

1、go代碼的編譯方式由原先的gcc變為go自身,主要的優勢在於go對協程的支持比較好,因此采用go編譯後支持了並行編譯,編譯速度大大提升。

2、go簡單粗暴的二進制安裝 方式也體現出了go的特性與優勢,那就是只認內核 ,因此go程序部署非常方便,直接拷貝編譯好的二進制文件即可,不需要任何依賴,因此也不存在所謂go環境的說法

3、go跨平臺編譯的方法: GOOS=xxx(windows/linux/darwin) go build hello.go 如果是在linux下編譯成windows,則生成的可執行文件會加.exe後綴,直接拷貝到windows下就可以運行啦~

4、像gcc一樣, go build 也可以通過 -o 參數修改編譯後可執行文件的名稱,如:go build -o test hello.go


golang學習筆記(1):安裝&helloworld