hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

Go言語を試してみる

amachangさんのブログを参考にGo言語をためしてみました。
http://d.hatena.ne.jp/amachang/20091111/1257928890
1. 環境変数の設定

export GOOS=linux
export GOARCH=386
export GOROOT=$HOME/go
export GOBIN=$HOME/bin
export PATH=$PATH:$GOBIN

2. Mercurial をインストール
$ sudo apt-get install mercurial

3. ソースコードの取得
hg clone -r release https://go.googlecode.com/hg/ $GOROOT

3. bison をインストール
・make.bashでbisonが無いとエラーになるので、事前にインストール。
$ sudo apt-get install bison

4. goのビルド
$ cd $GOROOT/src
$ ./make.bash

5. ソースコードの作成
・hello.go
package main

import "fmt"

func main() {
fmt.Printf("hello, world\n")
}


6. コンパイル〜リンク
# コンパイル ※hello.6が作成される
$ 6g hello.go

# リンク 6.outが作成される
$ 6l hello.6
goarch is not known: 386
??none??: file not amd64 [386]

??none??: /home/goofy/go/pkg/linux_386/fmt.a: failed to load: fmt·Printf

# コンパイル ※hello.8が作成される
$ 8g hello.go

# リンク 8.outが作成される
$ 8l hello.8


エラーが発生。
7. 実行
$ ./6.out
$ ./8.out


リンク時にエラー発生。
後で調べる。

コンパイル・リンクのコマンドを間違っていました。
32bitの場合は8g/8lを使う必要がある用です。(64bitの場合は6g/6l)

こちらのページを参考にさせていただいて解決しました。

Go言語をUbuntu 9.10にインストールする

http://portablecode.info/install_go_lang_on_ubuntu