Go學習之新奇視角 – 入門篇(一)
- 2019 年 10 月 8 日
- 筆記
最近工作中,需要研究Go語言的區塊鏈項目,作為一個Java出身的程序汪,不得不開始走向新的火熱學習當中去。
那麼,開始思考以下幾個問題:
- 什麼是Go?
- 為什麼要學習Go?
- 學了Go,又有什麼用?
- 如何以最快的速度學會和運用Go?
我想,這絕對是一個新鮮菜鳥或者說其它語言轉型的程序汪來說,必問的幾個問題,如有其它,請留言補充,^_^
當然,我也是,然後……我的第一步是:
(打開Boss直聘,悄悄地,不被老闆看到!)

突然感覺欣喜若狂,這玩意看來是個稀缺人才,要好好學!以此解答了第二個問題。
什麼是Go?(來自維基百科)
Go是Google開發的一種編譯型,並髮型,並具有垃圾回收功能的編程語言。羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜於2007年9月開始設計Go語言,Go語言是基於Inferno操作系統所開發的。Go語言於2009年11月正式宣布推出,並在Linux及Mac OS X平台上進行了實現.
第三,當然是工作需要啦(看在錢的份上),下面,就廢話不多說,開始詳細地講解一下,我將如何在短時間內高效學習一門新的語言。

(敲黑板,敲黑板!開始記筆記!)
有其它語言基礎(如C、C++、Python、Java、Scala等)或者自學能力強的兄dei,推薦幾個網上快速搞定基礎的網站:
實驗樓:Go語言編程。 51CTO:Go編程基礎
騰訊課堂、慕課網等等,喜歡網絡課程的同學,搜索關鍵字「Go學習」,應該就能找到一大堆免費資源,這裡我就不一一闡述了。
喜歡看書的,推薦書籍:《Go程序語言設計》、《Go並發編程實戰》、《The way to Go》(英文版),當然本人是屬於看書3分鐘,睡覺立竿見影的類型,所以並不是很能看得下去,網絡索羅得到的結果就這些。
下面針對懶人和初學者,講解一些入門步驟:
1、環境安裝:
下載:https://golang.org/doc/install(需要VPN)

根據自己電腦的配置選擇合適的版本進行下載安裝,本文以window為例(msi,懶人可以點此),版本1.10.2
下載到合適的安裝路徑,一路下一步就行,注意點,查看高級系統設置,配置GOPATH、GOROOT、GOBIN環境變量

- GOROOT:Go的安裝路徑
- GOPATH:允許多個目錄,當有多個目錄時,請注意分隔符,多個目錄的時候Windows是分號「;」,Linux系統是冒號「: 」
- 注意點:$GOPATH目錄約定有三個子目錄
- src:存放源代碼(比如:.go .c .h .s等)
- pkg:編譯時生成的中間文件(比如:.a)
- bin:編譯後生成的可執行文件(為了方便,可以把此目錄加入到 $PATH 變量中,如果有多個gopath,那麼使用${GOPATH//://bin:}/bin添加所有的bin目錄)
- GOBIN:Go文件中的bin目錄
2、開發工具:
比較流行的開發工具有:Sublime、VS Code、LiteIDE、GoLand(收費),本主使用的是GoLand,下載地址:官網

下載安裝好之後就可以開發了,請開始你的表演(orz……廢話真多)。
3、Hello World
相信會有很多朋友問,為什麼不管學習什麼語言,都要先寫Hello World,我認為,是一種儀式感。網上也流傳了很多版本的說法。有一種解釋為:1978年,Brain Kernighan在他和Dennis Ritchie合作撰寫的C語言聖經「The C Programming Language」中,延用了「hello,world」句式,作為開篇第一個程序。在這個程序里,輸出的」hello,world」全部是小寫,沒有感嘆號,逗號後有一空格。雖然之後幾乎沒能流傳下來這個最初的格式,但從此用「hello world」向世界打招呼成為慣例。
那我們就一起來寫一個hello world 向世界打招呼吧。
新建helloworld.go 文件(路徑:C:goworkspacesrchelloworld.go)

不理解裏面的含義沒事,照着敲就行,下一篇《基礎篇》,我會詳細講解其中的含義。
4、運行
打開cmd窗口,進入到剛剛寫的helloworld.go文件

運行成功。
接下來就可以開始真正的學習之旅了。