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文件

運行成功。

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