kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

17Nov/09Off

「早速 Go言語を試してみる!」をgoで書き直してみた

まぁ、あれだけどこんな感じ。
amachangのところで書かれていたTwitterのpublic timeline拾ってくるサンプル。
早速 Go 言語を試してみる!
jsonもUnmarshalでxmlと同じように拾ってこれる。
とか、かなりgoっぽく書き直してみた。
Unmarshalは必要な要素だけでOKっぽいので使いやすい。

Linux/386, osx10.6.2/386で動作確認済み。

package main
 
import (
    "json";
    "http";
    "io";
)
 
type User struct {
    Screen_name string;
}
 
type Tweet struct {
    User User;
    Text string;
}
 
type Tweets struct {
    Tweet []Tweet;
}
 
func main() {
 
    if r, _, err := http.Get("http://twitter.com/statuses/public_timeline.json"); err == nil {
        if b, err := io.ReadAll(r.Body); err == nil {
            var tweets Tweets;
            json.Unmarshal( "{ "tweet": " + string(b) + "}", &tweets );
            for _, tweet := range tweets.Tweet {
                print( tweet.User.Screen_name + " : " + tweet.Text + "
" );
            }
        }
    }
}


ほとんどの環境だと、export GOARCH="386"で、
8g/8l使うのが正解だと思うのだが…。
http.Getはポート指定していないと http で services を lookupするようなのでその辺かも。

Filed under: golang Comments Off
Comments (0) Trackbacks (0)

Sorry, the comment form is closed at this time.

No trackbacks yet.