編譯並安裝應用程式

在這個最後一個主題中,您將會學習幾個新的 go 指令。雖然 go run 指令在您進行頻繁變更時,是編譯和執行程式的一個實用的捷徑,但它不會產生二進位可執行檔。

此主題介紹兩個用於建置程式碼的額外指令

  1. 從 hello 目錄中的命令列執行 go build 指令,將程式碼編譯成可執行檔。
    $ go build
  2. 從 hello 目錄中的命令列執行新的 hello 可執行檔,確認程式碼運作正常。

    請注意,您的結果可能有所不同,具體取決於您在測試後是否變更了 greetings.go 程式碼。

    • 在 Linux 或 Mac 上
      $ ./hello
      map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
      
    • 在 Windows 上
      $ hello.exe
      map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
      

    您已將應用程式編譯成可執行檔,因此您可以執行它。但要執行它,您的提示字元必須位於可執行檔目錄中,或指定可執行檔的路徑。

    接下來,您將安裝可執行檔,以便您在不指定其路徑的情況下執行它。

  3. 找出 Go 安裝路徑,go 指令將在此處安裝目前的套件。

    您可以透過執行 go list 指令 來找出安裝路徑,如下例所示

    $ go list -f '{{.Target}}'
    

    例如,指令的輸出可能是 /home/gopher/bin/hello,表示二進位檔安裝在 /home/gopher/bin 中。您將在下一步中需要此安裝目錄。

  4. 將 Go 安裝目錄新增至系統的 shell 路徑中。

    這樣,您就可以在不指定可執行檔位置的情況下執行程式的可執行檔。

    • 在 Linux 或 Mac 上,執行下列指令
      $ export PATH=$PATH:/path/to/your/install/directory
      
    • 在 Windows 上,執行下列指令
      $ set PATH=%PATH%;C:\path\to\your\install\directory
      

    或者,如果你在 shell 路徑中已有類似 $HOME/bin 的目錄,而你想要將 Go 程式安裝在那裡,你可以使用 go env 指令 設定 GOBIN 變數來變更安裝目標

    $ go env -w GOBIN=/path/to/your/bin
    

    $ go env -w GOBIN=C:\path\to\your\bin
    
  5. 一旦你更新了 shell 路徑,執行 go install 指令來編譯並安裝套件。
    $ go install
  6. 透過輸入應用程式的名稱來執行它。為了讓這件事變得有趣,開啟一個新的命令提示字元,並在其他目錄中執行 hello 可執行檔名稱。
    $ hello
    map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
    

這就結束了這個 Go 教學!