Dartが出たのにGoをやる

リリース直後からチェックしてましたが
触っていなかったのこの機会に環境をセットアップ。


[環境]
サーバ:さくらVSP
OS:CentOS 5.7 x86_64


1.mergurialをインストール

easy_install mercurial

2.goをインストール

hg clone -u release https://go.googlecode.com/hg/ go
cd go/src/
./all.bash

結果(途中経過は省略)

0 known bugs; 0 unexpected bugs

ALL TESTS PASSED

---
Installed Go for linux/amd64 in /go.
Installed commands in /go/bin.
*** You need to add /go/bin to your $PATH. ***
The compiler is 6g.

マニュアルどうおりメッセージが出たので成功したっぽい。

3.チュートリアルのHelloWorld出してみる。

vim helloworld.go

package main

import fmt "fmt"

func main(){
    fmt.Printf("Hello World!!")
}

4.コンパイル

6g helloworld.go 

5.リンク。ひと手間多い。

6l helloworld.6

gccgoだと一発で終了

gccgo helloworld.go

現時点ではgccgoにしておけばよかったと後悔しつつ
今後は先に記載されてた方が推奨なのを信じたい。
まあ、どっちもできるようにしておくか。

6.実行

./6.out

チュートリアルまで全部読んでみたけど
とりあえず今まで触ってきたLL言語とはちょっと違う毛色みたい。
引き続き実践言語仕様を読む、たぶん。
http://golang.jp/effective_go