這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1、下載go的zip檔案。並且一定要把檔案解壓到c:\go目錄下。
2、配置windows的進階環境變數。包括:GOROOT、GOOS、GOBIN、GOARCH。並且在path變數裡面把c:\go\bin加入。以便可以在命令列直接運行go命令。
舉例:我的機器:
set GOARCH=386
set GOOS=windows
set GOROOT=c:\go
set GOBIN=%GOROOT%\bin
set GOPATH=%GOROOT%;F:\workspace\goSample01;
GOPATH=%GOROOT%;%GOROOT%\src;F:\workspace\goSample01;
GOBIN=%GOROOT%\bin;F:\workspace\goSample01\bin;
其中,c:\go是go的安裝路徑;
F:\workspace\goSample01是我寫的go語言項目的工程目錄;
F:\workspace\goSample01\bin是go語言項目的工程目錄下的可執行檔路徑;
3、在完成環境變數配置後,開啟一個命令列視窗,直接輸入go,然後斷行符號,看看是否出現go的協助資訊。如果出現,那麼go的基本環境就OK了。
注意:這個基本環境不包含開發工具,也不能直接編譯帶C代碼的go程式。
4、(可選)為了支援Import遠程包,最好裝個gomingw。下載地址:http://code.google.com/p/gomingw/downloads/list。如果下的是壓縮包,請把它解壓到C盤。例如,C:\gowin-env。裡面有個Console.bat是以後使用go get的環境。舉例:有個檔案a.go,裡面import(
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
為了編譯該a.go檔案,需要啟動Console.bat,然後在該命令列視窗,進入c:\go\src目錄下,執行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go會自動下載該遠程包並編譯和安裝這些包。
配置goclipse(可選)
(如果不喜歡eclipse開發工具,請跳過這個配置。)
1、下載並安裝goclipse外掛程式。Goclipse是go語言for eclipse的外掛程式,下載地址:http://code.google.com/p/goclipse/
2、啟動eclipse並建立go項目。然後寫個最簡單的helloworld.go檔案,並運行。代碼如下:
packagemainimport"fmt"func main(){ fmt.Printf("hello, world")}
配置gocode(可選)
如果不需要go文法輔助和eclipse裡面的(按ALT+/)彈出go語言自動協助工具功能,請跳過這個配置。
1、下載gocode的zip檔案,解壓後放在go的bin目錄下。
2、下載並安裝Git軟體。並且在path裡面配置git的執行路徑。例如c:\git\bin
3、在命令列執行:go build .\gocode。如果一切正常,那麼將會編譯產生一個gocode.exe檔案在go的bin目錄下。如果編譯失敗,那麼就轉第4步。
4、如果第3步直接編譯gocode源檔案成功,那就直接到第5步。否則,就需要通過git下載gocode源檔案,然後再編譯。在命令列執行:go get -u github.com/nsf/gocode 。就會產生gocode.exe檔案。
5、在goclipse外掛程式裡面指定gocode的路徑。就可以在elcipse裡面調用gocode來協助寫編碼了。
從開發工具這塊看,go語言還不夠成熟,開發工具都還不完善,有待改進。
下載go-tour教程原始碼(可選)
Google有個線上運行go語言的教程(http://tour.golang.org/#2),很不錯。支援在web上直接運行大部分的go程式,想瞭解這個教程的原始碼的朋友可以通過以下方式擷取。如果沒興趣,可以跳過這個步驟。
1、下載安裝Mercurial軟體。
2、在命令列下輸入:
hg clone http://qinhui99@code.google.com/r/qinhui99-go-tour/
http://qinhui99@code.google.com/r/qinhui99-go-tour/這個URL是我從google的go-tour原始碼的一個clone。作為測試用的。如果把http改成https協議,下載就會失敗。搞不懂。
編譯帶調用C代碼的go檔案(可選)
1、為了在windows下編譯帶C代碼的go程式,你首先需要下載並安裝MinGW或者Cygwin。
2、首選安裝MinGW。在安裝MinGW之後,記得要把MinGW安裝目錄\bin路徑設定在path環境變數裡面,以便能在dos視窗下直接調用gcc。
3、下載一個gowin-env。下載地址:gowin-env。下載後解壓到某個目錄下,例如:C:\gowin-env. 然後,編輯go-env.bat。配置相關的go參數。例如,我的配置是:
set GOARCH=386
set GOOS=windows
set GOROOT=c:\go
set GOBIN=%GOROOT%\bin
set GOPATH=%GOROOT%;F:\workspace\goSample01;
設定好go-env.bat後,就可以點擊Console.bat來啟動編譯和運行視窗。
4、編寫一個帶C代碼的go程式。例如,testc.go
5、編譯
例如:
go build -compiler gccgo test_c.go
運行調用C代碼的go檔案(可選)
1、testc.go.
建立rand目錄,然後在rand裡面建立testc.go. 代碼如下:
package rand
/*
//
#include <stdio.h>
*/
import "C"
func PrintHello() {
C.puts(C.CString("Hello, world\n"))
}
2、a.go
在rand下建立a.go.代碼如下:
package rand
import "fmt"
func SayHello(name string){
fmt.Println(name)
}
3、test_import.go
在rand的上一級建立test_import.go。代碼如下:
package main
import "./rand"
func main(){
rand.SayHello("tom")
rand.PrintHello()
}
4、運行test_import.go
go run test_import.go
在測試其它幾個C代碼的時候,發現windows版本的cgo還有些編譯問題,同樣的代碼轉移到蘋果的XCODE下就沒有問題。後來終於發現原因了,原來有些例子是unix平台下的,而在windows平台下,方法名和參數需要做調整。
例如:下面代碼在windows下編譯報一堆錯誤。
package rand
/*
#include <stdlib.h>
*/
import "C"
func Random() int {
return int(C.random())
}
func Seed(i int) {
C.srandom(C.uint(i))
}
這裡需要把return int(C.random()) 修改為“return int(C.rand())”
C.srandom(C.uint(i))修改為“C.srand(C.uint(i))”編譯就OK了。