---
# System prepended metadata

title: Day02 資源-Go欲善其事

---

# 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)  

相信看完以上這些，功力定會有所大增。  

蛤，什麼？你說這些資料 ~~看不完~~ 太少了，不夠你看？  

...那沒關係，跟我一樣先當個可愛小地鼠就好。  