一、Go簡介 |
Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發,后來還加入了Ian Lance Taylor, Russ Cox等人,並最終於2009年11月開源,在2012年早些時候發布了Go 1穩定版本。現在Go的開發已經是完全開放的,並且擁有一個活躍的社區。
Go 語言最主要的特性:
- 自動垃圾回收
- 更豐富的內置類型
- 函數多返回值
- 錯誤處理
- 匿名函數和閉包
- 類型和接口
- 並發編程
- 反射
- 語言交互性
- 易於部署
再說說我學習go的原因:
1.性能優越:這是個總所周知的特點,天生具備高並發性。
2.部署方便:一開始我只是想嘗嘗鮮,然后寫了一點點代碼,然后發現編譯非常簡單,同時部署時候就是二進制包(linux)或exe文件(windows),這對於做運維的人來說太方便了。
3.最近在學習kuberneters,其實現也是go語言,所以讓我下定了學習go的決心。
二、GO與Python |
作為python程序員,我對python當然也在熟悉不過了,總所周知由於GIL所問題導致速度較慢,當然go彌補了這個缺點,由於初學go還不了解,只能從他人之言了解到go與python對比:
https://studygolang.com/articles/3102
http://developer.51cto.com/art/201710/555200.htm
三、開發環境搭建 |
1.下載包:
安裝包下載地址為:https://golang.org/dl/。
如果打不開可以使用這個地址:https://golang.google.cn/dl/
各個系統對應的包名:
操作系統 | 包名 |
---|---|
Windows | go1.10.windows-amd64.msi |
Linux | go1.10.linux-amd64.tar.gz |
Mac | go1.10.darwin-amd64-osx10.8.pkg |
FreeBSD | go1.10.freebsd-amd64.tar.gz |
2.安裝
windows
將下載好的包運行,一直點擊下一步就行了,安裝完成后打開cmd 輸入go version如果返回正確的版本代表安裝成功。
僅僅安裝好msi是不夠的,還需要配置一些東西:GOPATH
Go從1.1版本到1.7必須設置這個變量,而且不能和Go的安裝目錄一樣。
這個目錄用來存放Go源碼,Go的可運行文件,以及相應的編譯之后的包文件。
所以這個目錄下面有三個子目錄:src、bin、pkg
從go 1.8開始,GOPATH環境變量現在有一個默認值,如果它沒有被設置。 它在Unix上默認為$HOME/go
,在Windows上默認為%USERPROFILE%/go
。
如果你的是Unix(mac/linux)環境需要:
export GOPATH=/opt/src/go
Windows則需要新建一個環境變量名稱叫做GOPATH,當然,go 的msi安裝包安裝完成后,己默認設置了GOPATH,我們只需要右擊【此電腦】-【屬性】-【高級系統設置】-【高級】-【環境變量】設置編輯就可以了
GOPATH允許多個目錄,當有多個目錄時,請注意分隔符,多個目錄的時候Windows是分號,Linux系統是冒號,當有多個GOPATH時,默認會將go get的內容放在第一個目錄下。
以上 $GOPATH 目錄約定有三個子目錄:
- src 存放源代碼(比如:.go .c .h .s等)
- pkg 編譯后生成的文件(比如:.a)
- bin 編譯后生成的可執行文件(為了方便,可以把此目錄加入到
$PATH
變量中,如果有多個gopath,那么使用${GOPATH//://bin:}/bin
添加所有的bin目錄)
UNIX/Linux/Mac OS X, 和 FreeBSD 安裝
以下介紹了在UNIX/Linux/Mac OS X, 和 FreeBSD系統下使用源碼安裝方法:
1、下載源碼包:go1.103.linux-amd64.tar.gz。
2、將下載的源碼包解壓至 /usr/local目錄。
tar -C /usr/local -xzf go1.103.linux-amd64.tar.gz
3、將 /usr/local/go/bin 目錄添加至PATH環境變量:
export PATH=$PATH:/usr/local/go/bin
ps:max下如果你安裝了brew,你還可以通過brew進行安裝
brew install go 或者 brew install golang
四、開始hello world |
在你的上文的GOPATH下新建一個文件src/hello/hello.go,內容如下:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
切入到cmd使用go run 運行該文件
你也可以編譯成可執行文件執行:
cmd下進入到文件所在目錄,我的目錄是C:\Users\17647\Desktop\go_work\src\hello,運行go build:
此時會你會發現目錄多了.exe文件直接運行就可以了