20130103Windows下編譯GO程式
阿新 • • 發佈:2019-01-02
今天試著編譯了一下beego庫,順便學習了一下go的安裝環境。
下解壓包安裝在d:目錄下go目錄,設定了
GOROOT=D:\go
GOARCH=386
GOBIN=%GOROOT%\bin
在D:\go下建立目錄project,然後建立工程HelloGO.
HelloGO下目錄結構為:
HelloGO
----src
------HelloGO.go(是對beego的測試)
-----pkg(可選)
----bin(說這個是可選項的,但是我不建立的時候生成會失敗)
-----make.bat(用來編譯src下檔案)
由於HelloGO.go是對beego的測試,內容如下:
// HelloGo package main import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (this *MainController) Get() { this.Ctx.WriteString("hello world,這是一個WEB程式") } func main() { beego.RegisterController("/", &MainController{}) //beego.HttpPort = 8080 // default beego.Run() }
go build的時候會提示少
github.com/astaxie/beego
包,然後就需要使用go get -v github.com/astaxie/beego
先下載包,如果使用預設的GOPATH,會包包嚇到go目錄下的src,和安裝到pkg中,這個肯定會汙染了系統。
在網上收了發現使用make.bat來設定GOPATH,設定後就生成到自己的src,和pkg下面了。
但是 bin目錄怎麼設定也還是不行,要麼生成在go.exe目錄,下面生成在HelloGO.go目錄。
不會生成到./bin目錄,最後只有手動建立/bin目錄,用go build -o %GOBIN%/HelloGO.exe HelloGo.go指定
整個make.bat內容如下:
@echo off
setlocal
if exist make.bat goto ok
echo make.bat must be run from its folder
goto end
: ok
set OLDGOPATH=%GOPATH%
set GOPATH=%~dp0
set GOBIN=%GOPATH%\bin
gofmt -tabs=false -tabwidth=4 -w src
go get -v github.com/astaxie/session
go get -v github.com/russross/blackfriday
go get -v github.com/astaxie/beego
go build ./src/beego
go install beego
rmdir /S /Q %GOBIN%
mkdir %GOBIN%
go build -o %GOBIN%/HelloGo.exe ./src/HelloGo.go
:end
echo finishe
pause
這種方法不知道對不對,但至少編譯沒問題了,程式也能夠正常執行。
建立一個Web程式幾行程式碼就搞定了,不用再向以前學Asp、Asp.net一樣去部署環境。
是激起我學習Go語言的一大原因之一。
好了。