20130103Windows下编译GO程序

   今天试着编译了一下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语言的一大原因之一。

好了。

你可能感兴趣的:(Golang)