2009年11月13日金曜日

プログラミング言語 Go をいじってみました

Googleが新しくプログラミング言語Goを発表したので、
以下の2つのサイトを参考にインストールしていじってみました。

早速 Go 言語を試してみる! - IT戦記
The Go Programming Language

環境はMacOSX 10.5です。

まず作業用ディレクトリを作成する。
$ cd ~
$ mkdir go
$ mkdir bin

次にPATHを設定する。~/.bashrcに以下を追加。
export GOROOT=$HOME/go
export GOOS=darwin
export GOARCH=amd64
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH

MercurialをインストールしてMercurialリポジトリからチェックアウトしてくる。
$ sudo easy_install mercurial
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

ビルド
$ cd $GOROOT/src
$ ./make.bash

これでインストールは完了。

また~/$GOROOT/misc/emacs/にgo-mode-load.elとgo-mode.elがあるのでelisp(~/.site-lisp)にコピーし、.emacs.elに以下を追加することでEmacsでgo-modeが使えるようになる。
(require 'go-mode-load)

それでは恒例のHello, World!を書いてみます。
Hello.go

package main
import "fmt"
func main(){
fmt.Printf("Hello, World!\n")
}


コンパイル、リンク、実行してみます。
$ 6g Hello.go
$ 6l Hello.6
$ ./6.out
Hello, World!
$

コンパイルコマンドは環境によって変わってきますので注意が必要です。

ついでにFizzBuzzも書いてみました。

FizzBuzz.go

package main
import "fmt"
func main(){
for i := 1; i <= 100; i++ {
if i % 15 == 0 {
fmt.Printf("FizzBuzz ");
} else if i % 5 == 0 {
fmt.Printf("Buzz ");
} else if i % 3 == 0 {
fmt.Printf("Fizz ");
} else
fmt.Printf("%d ", i);
}
}
fmt.Printf("\n");
}


とりあえず、if-elseのとこでわざわざ中括弧が必要なのと
PrintfのPを大文字にするのが面倒でした。

0 件のコメント: