Go言語の Array ライブラリを書いてみた #golang
golang やってます。がしかし ruby をやり始めたころより進みがよくありません。コンパイルエラーで悩んだり等々。
Go言語の組み込みパッケージは充実してるのですが、配列(Array)のライブラリはないので(githubにはあると思いますが)、さくっと直感的に処理を書くことができません。
ということで、Go言語の勉強のために、int用のArrayモジュールを書いてみました。まあそれスライスでやればいいやん、というのもありますが、それは勉強ということで。
使い方は、README.md にあるように、ruby の Array のメソッドっぽく書けます。
import ( "github.com/ramtiga/go-array" ) arry := array.IntArray{1, 2, 3, 4, 5} arry.Length() // returns => 5 arry.Push(6) // arry => {1, 2, 3, 4, 5, 6} arry.Pop() // arry => {1, 2, 3, 4, 5} arry.First() // returns => 1 arry.Last() // returns => 5 arry.Shift() // arry => {2, 3, 4, 5} // other methods // Unshift, Concat, Clear, Delete, Delete_at, // Index, Index, Reverse, Join, Uniq, Sort
テストもこれくらいなら簡単だったので書いてみた。Push のテストは以下のような感じ。
// Push func TestPush(t *testing.T) { var d IntArray = IntArray{5, 3, 1, 2, 6} chk := IntArray{5, 3, 1, 2, 6, 7} d.Push(7) for i, _ := range d { if d[i] != chk[i] { t.Errorf("result=%v, index=%v", d, i) } } }
新しい言語は、とにかく書いて覚えるしかないかなと。
enjoy #golang!!!