2009-11-19から1日間の記事一覧

Goでイテレータ

goroutineとchannelとrangeつかえば巧い事やってくれました。 package main import ( "log"; "time"; ) func FibIter(n int) chan uint64 { ch := make(chan uint64); go func() { var a, b uint64 = 0, 1; for i := 0; i < n; i++ { ch <- a; a, b = b, a +…

Goでサーバー実装のパターン

Go言語がおもしろい。 Goでのサーバー実装の方法が、ある程度パターン化してるので覚えておこう。 ここで言うサーバーはエコーサーバーやmemcachedみたいなやつデス package main import ( "net"; "fmt"; ) func handler(conn net.Conn) { defer conn.Close(…