プログラミング言語Go
package main import "fmt" import "sort" func sum(a []int) int { s := 0; for _, v := range a { s += v; } return s; } func sum2(m map[string]int) string { s := ""; for k, _ := range m { s += k; } return s; } type T struct { a, b int } func main() { a := []int{3,2,1}; m := map[string]int{"one":1, "two":2}; m["three"] = 3; t := T{0, 0}; t.b = 7; a2 := sort.IntArray(a); sort.Sort(a2); fmt.Println(a2); fmt.Println(sum(a), sum2(m), t); } // 実行結果 [1 2 3] 6 threetwoone {0 7}
Windows版のGoを少し触ってみた。まずコンパイルでつまずいた。恐らく日本語のパスが入っている場所にインストールしたのがいけなかったらしい。
なかなか良さそうだが、まだ過渡期でドキュメントが古く、説明が間違っている。例えば、文末にセミコロン不要とあったが、今のバージョンでは必要みたい。しかし、ハッシュやfor文のiterateが実装されているなどは関心できる。また、ガーベッジコレクションが実装されているので、メモリ管理は楽。
印象としてはD言語に近いような気がする。まだ良い書籍などが出ていないようなので、今後に期待。
追記(2010/12/15):
現状のgo-windowsが古いバージョンであり、セミコロンは省略できるようになったらしい。