# Day02 資源-Go欲善其事 必先學會Play, 之後再利其器,打仗先擺一邊。 * [Go Playground](https://play.golang.org/) 連結點開來就有一隻現成的Hello World可以執行了。 有這個Go Playground十分方便,可以在這平台測試跑小程式、也可以Share程式碼、複製網址貼給其他人看。 > 注意: > 在這個平台沒辦法透過Scanf讀取鍵盤輸入 > 時間也是被固定的,怎麼random跑出來的亂數也是同一組 > (詳見Playground右上角的 About) ## 安裝Go語言 非常的簡單,只要在[**這裡**](https://golang.org/dl/)下載Windows/MacOS版本, 下一步下一步安裝就可以了。 預設的 **Go的根目錄 (GOROOT)** 會在 ```bash C:\go (for Windows) /root/go (for Linux/MacOS) ``` 底下,裡頭包含執行go語言基本必備的官方library。 預設的 **Go專案路徑 (GOPATH)** 則是在 ```bash C:\Users\USER\go (for Windows) /Users/USER/go (for Mac, Linux) ``` 在Go後來的版本中(1.10之後)**不用手動設置GOPATH和[GOROOT](https://zhuanlan.zhihu.com/p/93776289)**, 安裝完畢後,可以透過指令來確認是否安裝完成(注意大小寫) Windows版本: > go > go version > echo %GOPATH% > go env GOPATH > go env GOROOT ![GoENV for Windows](https://i.imgur.com/QMyVruG.png) MacOS版本: $ go $ go version $ echo $GOPATH $ go env GOPATH $ go env GOROOT ![GoENV for MacOS](https://i.imgur.com/bKi2fCd.png) 可以看到有go的用法跑了出來,而不是 `command not found` 等字樣, 如果GOPATH或GOROOT的路徑跑不出來,再手動添加環境變數即可。 但為了應付**各式各樣**的情況, 本宅目前Mac的環境變數,已經長到這副德行了↓↓↓(不嫌棄的話歡迎使用) ```bash ##加在 ~/.bashrc或 ~/.zshrc中 export GOROOT=/usr/local/go export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOROOT:$GOROOT/bin:$GOPATH:$GOBIN:/usr/local/sbin ``` --- 你以為這樣就裝完了? 黑丟 對! 什麼事都沒做,go都自動幫我處理完了,夠智能吧 就算沒安裝完,今天的文章也完了。 ... 想學Go,推薦哪些書、該怎麼學? ## 學習資源 我整理了一下網路上找的到的Golang學習資源 ###### 雖說這是全英文的教學,但Google翻譯也是他們家的,拿自家產品來翻譯自家產品... * [Golang官方教學](https://tour.golang.org/list) * [Go語言42章經](https://github.com/ffhelicopter/Go42/blob/master/SUMMARY.md) * [Go語言聖經](https://wizardforcel.gitbooks.io/gopl-zh/content/index.html) * [良葛格學習筆記](https://openhome.cc/Gossip/Go/index.html) * [Michael Chen 的技術文件](https://michaelchen.tech/golang-programming/) * [GO語言101](https://gfw.go101.org/article/101.html) 相信看完以上這些,功力定會有所大增。 蛤,什麼?你說這些資料 ~~看不完~~ 太少了,不夠你看? ...那沒關係,跟我一樣先當個可愛小地鼠就好。