golang學習筆記(1):安裝&helloworld
安裝:
golang編譯器安裝過程比較簡單,也比較快,不同平臺下(win/linux/macos)都比較相似;
下載對應的系統版本的編譯器
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
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
©著作權歸作者所有:來自51CTO部落格作者shangluyi的原創作品,如需轉載,請註明出處,否則將追究法律責任
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2819626/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Golang學習筆記-IDE安裝指南Golang筆記IDE
- golang 學習筆記1Golang筆記
- RabbitMQ學習筆記-HelloWorldMQ筆記
- Golang學習筆記(1):包管理Golang筆記
- golang 學習筆記Golang筆記
- .Net-Avalonia學習筆記(一)-HelloWorld筆記
- RabbitMQ學習筆記-安裝MQ筆記
- Docker安裝(學習筆記一)Docker筆記
- Mysql學習筆記(安裝篇)MySql筆記
- matlab學習筆記一:安裝Matlab筆記
- goLang學習筆記(一)Golang筆記
- goLang學習筆記(二)Golang筆記
- goLang學習筆記(三)Golang筆記
- goLang學習筆記(四)Golang筆記
- 【學習筆記】Golang 切片筆記Golang
- GOLang 學習筆記(一)Golang筆記
- 尹成學院golang學習快速筆記(1)型別Golang筆記型別
- QT學習筆記1(安裝、建立和訊號與槽)QT筆記
- Flutter學習筆記 - 安裝,映象,配置Flutter筆記
- Linux 學習筆記 - 軟體安裝Linux筆記
- Redis學習筆記【01】 - 安裝RedisRedis筆記
- golang 學習筆記:第 1 節:GO 語言介紹Golang筆記
- Redis安裝與配置(學習筆記一)Redis筆記
- 學習筆記1筆記
- 學習筆記-1筆記
- Golang學習筆記之方法(method)Golang筆記
- Golang學習筆記-1.6 函式Golang筆記函式
- 【Flutter 學習筆記一】Mac OS 安裝 FlutterFlutter筆記Mac
- Docker 學習筆記-基本概念與安裝Docker筆記
- 學習筆記:openstack實驗環境安裝筆記
- golang學習筆記(二)—— 深入golang中的協程Golang筆記
- Golang學習筆記(一):命名規範Golang筆記
- 《Golang學習筆記》error最佳實踐Golang筆記Error
- python學習筆記(1Python筆記
- Vue學習筆記1Vue筆記
- swift學習筆記《1》Swift筆記
- HTML學習筆記1HTML筆記
- ADworld學習筆記(1)筆記