GO! for Ubuntu 9.10
に触発されてこっちでもやってみる。しょぼいけど。
環境はUbuntu 9.10(Karmic Koala) x86。
まずディレクトリ作る
$ cd ~
$ mkdir go
$ mkdir bin
次にパスの設定をする。うちはbash使ってるので.bashrcに追記
export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH
$ source .bashrc
リポジトリからファイルを取ってくる
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
#どうでもいいけどhg cloneはgit cloneと違ってディレクトリ作らないのか
goをコンパイルする
$ cd $GOROOT/src
$ ./all.bash
...
0 known bugs; 0 unexpected bugs
amachangとこと違って全部通ったっぽい。
$GOBINにインストールされたファイル
6cov 6prof 8c 8l ebnflint godoc gopack goyacc quietgcc
6nm 8a 8g cgo godefs gofmt gotest hgpatch
Hello,worldを書く
$ cd ~/src
$ mkdir go
$ cd go
$ vim hello_world.go
vimの部分は好きなエディタで。下のファイルを入力。
package main
import fmt "fmt"
func main() {
fmt.Printf("Hello, world; or こんにちはこんにちは\n");
}
utf-8で保存すること。(Ubutuの場合そのままだけど)pythonみたいに#-*- coding:sjis -*-とかはしなくていいですね。ぱちぱちぱちぱち。
コンパイル
$ 8g hello_world.go
なぜか8nmというのが無くて、6nmでオブジェクトのシンボルが見れる。
$ 6nm hello_world.8
...
T main·init
D main·initdone·
T main·main
...
リンク
$ 8l hello_world.8
実行
$ ./8.out
Hello, world; or こんにちはこんにちは