20130103 WindowsでのGOプログラムのコンパイル

1998 ワード

今日はbeegoライブラリをコンパイルしてみたついでにgoのインストール環境を勉強しました.
下解凍パッケージd:ディレクトリ下goディレクトリにインストールし、設定しました
   GOROOT=D:\go
   GOARCH=386
   GOBIN=%GOROOT%\bin
D:goでディレクトリプロジェクトを作成し、プロジェクトHelloGOを作成します.
HelloGOのディレクトリ構造は次のとおりです.
   HelloGO
           ----src
                ------HelloGO.go(beegoのテストです)
------pkg(オプション)
------bin(これはオプションですが、作成しないと生成に失敗します)
          -----make.bat(srcの下のファイルをコンパイルするために使用される)
なぜなら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指定
全体的に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

この方法は正しいかどうか分かりませんが、少なくともコンパイルは問題なく、プログラムも正常に動作します.
以前にAsp、Aspを学ぶ必要はありません.Netのように環境を配置します.
私がGo言語を勉強することを刺激した大きな原因の一つです.
はい.