GoogleがリリースしたGo言語を試してみました。
Go言語は、C言語のようなシステム言語でガベージコレクションを備えて、シンプルでコンパイルがすごく早いのが特徴だそうです。
MacBookにMacPortsでmercurialがインストールされていれば簡単に試すことができます。
ダウンロード
googleのオフシャルなソースコード管理は、mercurialなんですねぇ。
$ hg clone -r release https://go.googlecode.com/hg/ go 全チェンジセットを取得中 チェンジセットを追加中 マニフェストを追加中 ファイルの変更を追加中 3976 のチェンジセット(16799 の変更を 2931 ファイルに適用)を追加 作業領域の更新中 1640 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決 $
コンパイル
環境変数を設定するときにGOOSにOSアーキテクチャを設定します。
$ env | grep \^GO GOBIN=$HOME/bin GOARCH=amd64 GOROOT=$HOME/go GOOS=darwin $ cd $GOROOT/src $ ./all.bash
Hello, World!
go言語のソースを作ってコンパイルして実行します。
$ cat >hello.go <<EOF
> package main
>
> import "fmt"
>
> func main() {
> fmt.Printf("hello, world\n")
> }
> EOF
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
$
ううむ、短いソースだとコンパイルが、すごく早いか分からない。
コマンドも、コンパイラが”6g”でリンカが”6l”って、とんちがきいていますが、正直うちにくい。
mavenやantにあたるものはないのかな?