Now you can Subscribe using RSS

Submit your Email

2017/08/12

Windows golang 安裝

asd
學習 golang 起手式必須先安裝好 golang 與設定好環境變數。
這是 golang 官網 The Go Programming Language 。
這是 golang 官網提共的教學頁面可以直接在網頁上寫GO A Tour of Go 。
進入官網後下載 Golnag 。
可以依照你的作業系統選擇不同版本。
然後開始安裝直接點選下一步
還是下一步
把 golang 安裝至你想要的地方
安裝完之後需要設定環境變數。
需要設定的環境變數為以下。
GOROOT、GOPATH、GOBIN

GOROOT 為放置 Golang 本身函式庫與 go 指令的地方不要與 GOPATH 相同
GOROOT 與 GOPATH 應該要分別放置,GOROOT 就是剛剛上方的 Golang 安裝裡面的 bin。

GOPATH 就是放置你專案的地方。
GOPATH 裡面需要建立三個資料夾分別為 src 、 bin 、 pkg ( 三個資料夾需要手動建立 )

  • src :放置 import lib 與 你的 go 專案
  • pkg:放置經由 go install 指令安裝後的程式套件,包含 go 原始編譯過後的 .a壓縮檔 。
  • bin:與 pkg 類似放置 go install 後的執行檔 ex. firstGo.exe

GOBIN :為 go install 指令執行的工作區,因為可以設置多個 GOPATH
當你設置多個 GOPATH 時 go install 會不知道要把產生的執行檔放置在哪一個目錄下
而導致 go install 失敗,所以要指向你正在使用的 GOPATH 中裡的 bin 目錄。

GOROOT

GOPATH
我設置兩個 GOPATH
Windows 要設置兩個不同的 GOPATH 使用 ;做為區隔
記得最後一個 path 路徑不要有 ; 不然會發生找不到 path 的錯誤

假如 win10 下 GOPATH 一直設定不好可以選擇只設定一個 GOPATH。
如果堅持要使用多個 GOPATH 可以參考以下方法。




最後再把 GOPATH 放進去 PATH 環境變數,
會這麼麻煩是因為如同一開始設定的 GOPATH
win10 會為了閱讀方便把 ; 之後的變數清單方式幫你呈現,
設定完多個 GOPATH 後 由於最後一個路徑 win10 會幫你增加 ;
導致 go env 指令會無法辨識。

這也是一個 BUG 但一開始我手動設定是正常,
為了寫這篇文章重灌重新跑一遍之後系統會自動補上 ; 導致 go 指令無法辨識
只好分開寫環境變數。

GOBIN

最後在 WINDOWS PATH 中設定
因為 go 指令放在 GOROOT的 bin 目錄下所以要指引到 bin


可以打開終端機輸入
$ go version
$ go version go1.8.3 windows/amd64
出現版本號就代表可以使用 go 了。
再來輸入以下指令確認一下 GOROOT、GOPATH、GOBIN設定是否正確
C:\Users\Jrtou>go env
set GOARCH=amd64
set GOBIN=D:\WorkSpace\GoProject\bin
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\WorkSpace\GOPATH;D:\WorkSpace\GoProject
set GORACE=
set GOROOT=D:\GOROOT
set GOTOOLDIR=D:\GOROOT\bin\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
出現以上設定清單後代表你的 GOPATH 設定正確可以開始寫 Go 了。
在我們設定的 GOPATH\src 目錄下開啟一個文字檔副檔名為 .go。
寫入第一個 go hello world 程式碼。
然後使用文字編輯器在裡面輸入以下程式碼
package main

import "fmt"

func main(){
  fmt.Println("Hello World")
}
然後保存開啟終端機移至 helloWorld.go 目錄下執行 go 指令。

C:\Users\Jrtou>d:
D:\>cd WorkSpace/GoProject/src
D:\WorkSpace\GoProject\src>go run helloWorld.go
Hello World

1 意見:

  1. 想問一下,GOBIN & GOPATH設定完,GOBIN仍是空白,GOPATH是原路徑該怎麼解決呢?

    回覆刪除

Coprights @ 2016, Blogger Templates Designed By Templateism | Templatelib