今天试着编译了一下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语言的一大原因之一。
好了。
有疑问加站长微信联系(非本文作者)