linux go環境安裝
方法一
這次將源碼包安裝的目錄是是/root下。
1、官網下載源碼包。
官網連結:https://golang.org/dl/。ps:本人的是linux伺服器,所以選擇紅框標註的
wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
2、解壓安裝
tar -zxvf go1.9.2.linux-amd64.tar.gz
mkdir -p workspace/src
vim ~/.bashrc
export GOROOT=$HOME/goexport GOPATH=$HOME/workspaceexport PATH=$GOROOT/bin:$GOPATH/bin:$PATH
source ~./bashrc
3.檢驗是否安裝成功
方法二
安裝go工具
在 http://golang.org/dl/下載最新的linux版本,並把它提取到/usr/local目錄,在此目錄下進行解壓縮
$ tar -xvf xxx.tar.gz
然後將/usr/local/go/bin添加到PATH環境變數中,執行
$ export PATH=$PATH:/usr/local/go/bin
實際上go會預設假定它被安裝到/usr/local/go目錄下,但也可以將go安裝到其他位置,此時必須設定GOROOT環境變數來指出它所安裝的位置。
例如將go安裝到你的home目錄下,你應當將以下命令添加到$HOME/.profile檔案中
$ export GOROOT=$HOME/go
$ export PATH=$PATH:$GOROOT/bin
執行go version,看到go的安裝版本即安裝成功
你的第一個程式
GOPATH環境變數
GOPATH環境變數指定了你的工作空間位置
首先建立一個工作目錄,並設定相應的GOPATH,工作目錄可以放在任何地方,但不能和go的安裝目錄相同,在這我們使用$HOME/work
$ mkdir $HOME/work
$ export GOPATH=$HOME/work
注意:go的代碼必須放在工作空間內,也就是我們這裡的work目錄下,其中包含了三個子目錄
bin目錄包含可執行命令
pkg目錄包含包對象
src目錄包含go的源檔案,它們被組織成包(每個目錄都對應一個包)
接下來將工作空間的bin子目錄添加到PATH中:
[html] view plain copy
$ export PATH=$PATH:$GOPATH/bin
包路徑
標準庫中的包有給定的短路徑比如"fmt",對於你自己的包,也必須選擇一個基本路徑,來保證它不會與將來添加到標準庫或其他標準庫中的包相衝突。
使用packs作為基本路徑,在你的工作空間裡建立一個目錄,我們將源碼放在其中:
$ mkdir $GOPATH/src/packs
你的第一個程式
要編譯運行簡單的程式,首先要選擇包路徑,在這裡我們使用packs/hello,並在你的工作空間內建立相應的包目錄
$ mkdir $GOPATH/src/packs/hello
接著在該目錄中建立名為hello.go的檔案,其內容如下
package main
import "fmt"
func main() {
fmt.Printf("Hello, world.\n")
}
現在可以使用go工具構建並安裝此程式了
$ go install packs/hello
注意,你可以在系統的任何地方運行此命令。go工具會根據GOPATH指定的工作空間,在packs/hello包內尋找源碼。
如果從包目錄中運行go install,也可以省略包路徑:
$ cd $GOPATH/src/packs/hello
$ go install
此命令會構建hello命令,產生一個可執行檔二進位檔案。並存放在工作空間的bin目錄下,在這裡就是$GOPATH/bin目錄下
因為已經將$GOPATH/bin添加到PATH中,只需要輸入該二進位檔案名執行即可
$ hello
Hello, world.
你的第一個庫
讓我們編寫一個庫,並讓hello程式使用它。
同樣,第一步韓式選擇包路徑(在這裡使用packs/stringutil)並建立包目錄:
$ mkdir $GOPATH/src/packs/stringutil
接著,在該目錄中建立名為reverse.go的檔案,內容如下:
// stringutil 包含有用於處理字串的工具函數。
package stringutil
// Reverse 將其實參字串以符文為單位左右反轉。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
然後使用go build命令來測試該包的編譯:
$ go build packs/stringutil
即可,這不會產生輸出檔案,想要輸出的話,必須使用go install命令,它會將包的對象放到工作空間的pkg目錄中。
接下來修改原來的hello.go檔案
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
然後通過
$ go install packs/hello
來安裝hello程式,再運行此程式的新版本,應該能看到一條新的,反向的資訊:
$ hello
Hello, Go!
方法三
聲明 root 使用者登入。
$ vim /etc/profile
開啟/etc/profile後//最後一行插入
export GOROOT=/usr/local/go //這裡我的go解壓後是在/user/local/go
export GOPATH=~/golib:~/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
//然後 按ESC鍵 跳到命令模式,然後儲存退出
:wq //再按確認鍵盤
//輸入下面才會命令生效
$ source /etc/profile //ok
//判斷是否設定成功,不管cd 任何檔案夾下面輸入
$ go version