這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
linux下golang的配置
之前開發golang一直在windows下,今天在linux下試了一下 ,遇到一些梗,比如go 找不到 sync包。花了一小時全部解決,把過程記錄一下。
安裝 go
我的系統是ubuntu ,完全可以用apt-get 安裝,簡單方便,但這樣安裝之後就出現了上面提到的找不到sync包的問題。後來卸載了已經安裝的go,選擇從官網下載安裝包。
下載地址 選擇合適的安裝包,我選擇的是go1.6.1.linux-amd64.tar.gz。然後在你的系統裡面建一個檔案夾用來放安裝包,建好之後使用wget 加下載地址,把安裝包下載到建好的檔案夾下。 然後鍵入tar -xzf go1.6.1.linux-amd64.tar.gz 解壓安裝包到已經建好的檔案夾下。
解壓之後會出現一個go檔案夾,go下面有一個bin檔案夾。使用ln -s (軟串連命令)將bin下的可執行檔go 和gofmt 鏈到/usr/bin 下。 現在就可以直接輸入 go version命令查看go 版本了。
配置環境
先設定GOROOT : export GOROOT=你建好的檔案夾地址\go 。 設定GOROOT的原因是編譯項目時便於系統尋找標準庫。官網上還有添加PATH的步驟,這個是為了方便系統尋找到go、godoc和gofmt三個可執行檔,但這個問題已經通過軟串連解決了。
編譯第一個helloworld伺服器
首先建一個專案檔夾,設定GOPATH變數指向這個檔案夾export GOPATH=剛建的檔案夾路徑
在這個檔案夾下建立 bin,src,pkg三個檔案夾。src檔案夾下用來放第三方庫檔案,pkg下放的是編譯好的庫檔案 (.a尾碼檔案)
設定GOBIN環境變數 export GOBIN=$GOPATH\bin。(go install 命令需要將可執行檔放到GOBIN指定的目錄下)
建立 package main 檔案你可以下載這個源碼檔案 helloworld 使用wget下載到剛建立的檔案夾下
鍵入 go get 命令自動安裝依賴包到src檔案夾下 ,這個helloworld.go原始碼的第三方依賴包在github上,安裝不會出現問題。(但確保已經安裝了git)
鍵入 go build 編譯項目,沒有差錯的話就可以出現一個跟之前建的檔案夾同名的可執行檔, 執行該檔案。然後在瀏覽器鍵入訪問地址:你的機器的ip:8080/hello
運行
伺服器端
用戶端
用戶端使用的node.js做的http get 請求