【Windows】【Golang】在Windows上開發GO語言- JetBrains Goland環境部署

【安裝GO語言】


Go官網下載Windows 32或64 bit 版本,並安裝好GO之後 (目前到1.15版本)
預設的Go的根目錄會在 C:\go 底下,裡頭包含執行go語言基本必備的官方library。
最早的幾個版本在安裝好之後需要自己添加環境變數,如GOPATH、GOROOT,
但從好幾個推出的版本前開始,就都不需要再加入環境變數。




也就是說安裝完後便可以下

$ echo $GOPATH
C:\Users\GJLMoTea\go

$ echo $GOROOT
C:\go
若是找不到的話再自己添加環境變數

在Windows CMD中則是要下
> echo %GOPATH%
> echo %GOROOT%

查看Go語言版本
$ go version
查看Go設定的環境變數
$ go env 

而個人的程式、專案目錄或者從github上載下來的專案會放 C:\Users\User\go 資料夾底下
像是這樣子 C:\Users\GJLMoTea\go\src\github.com\gjlmotea\golang


【GO語言目錄架構】

架構示意圖

- 使用者目錄 (如果沒有bin/pkg/src目錄,別擔心,自己新增一個)
  - Go (GOPATH)
    - bin  (放編譯過後的可執行檔案 二進制檔案)
    - pkg  (放編譯過後的library)
    - src  (放原始碼 Source Code)
      - github.com
        - Jack (使用者名稱)
          - HelloWorldProject (Jack 的Hello world專案)
            - main.go (主程式)
        - Tom
          - MyCoolProject
            - core  (自己命名的函式庫名稱)
              - xxxx.go
              - xxxx2.go
            - libs
              - oooo.go
            - main.go
      - gitlab.com


一開始先認識src底下的資料夾分類即可,
因為這底下放的是各個套件、別人的專案、以及自己所寫的程式的原始碼。

至於bin跟pkg目錄主要的差別在於:
bin底下放的是main程式(編譯過後的),
而pkg底下放的是用到的包、套件(編譯過後的)

【JetBrains GoLand IDE】

IDE非常推薦使用JetBrains的GoLand
雖是付費軟體,但是十分佛心,
註冊帳號能免費試用一個月(有活動甚至兩個月),
另外若有大學學生信箱,可免費使用一年。(Google的教育版信箱 .go.edu.tw 也可以用)
可以先試用看看再來決定要不要買。
買一年可終身使用,只是不能升級成最新版本 除非繼續繳年費。


若使用JetBrains的 Goland IDE的話,新增專案時便可選擇Go語言版本,指定版本下載使用


Goland IDE會將GO語言下載到 C:\Users\GJLMoTea\sdk ,作為 GOROOT。
並沒有設成電腦全域環境變數,所以下載在這個地方的GO語言版本 包括GOROOT、GOPATH、GO指令,只能在 Goland IDE裡才看的到。




【更換Terminal】

Windows版本的 Goland IDE 的 Terminal 不建議使用Windows內建的CMD,
推薦使用 Git Bash ,下載安裝。

之後打開設定 -> 在搜尋框裡輸入 Terminal -> 找到Tools底下的Terminal



把Shell Path改成 C:\Program Files\Git\bin\bash.exe
之後重開一次IDE,點擊Terminal就會是bash了~





【使用連字體(合字) Ligatures 字型】

GoLand內建有Fira Code 字型,可以支援連字字體。
所謂連字字型就是 將連字變成特殊符號呈現, 
打 != 會變成 不等於的符號
打 >= 會變成  大於等於的符號
打 == 會變成  等於等於的符號 (不是= =)
<- 會變成  箭頭的符號

<!-- -- != := === >= >- >=> |-> -> <$> </> #[ |||> |= ~@
有以上諸如此類



JetBrains公司也有推出寫Mono Code字體,也是等寬字體之一
但覺得每個字元的長度都一樣,其實有點死板、有點刻意的感覺,暫時看不習慣

我個人在使用上因為慣用了Consolas的字體,
便上網尋找看看有沒有 又是Consloas的字型又有連字符號的字體,
Github上果然有人討論,已經有人合併好Consolas + Fira連字符號的字體,點我下載字型

解壓縮後直接右鍵 -> 為所有使用者安裝



重新打開 Goland IDE,在設定裡尋找 Editor -> Font 選擇 LigaConsolas,
勾選 Enable font ligatures
漂漂亮亮又連字好看的介面 就大功告成拉~




其實LigaConsolas 與 Lucida Console有點像,在字體風格上非常接近,都是類 Console(或Consolas)字體