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 + "
" );
            }
        }
    }
}
Filed under: golang Continue reading
17Nov/09Off

google goで不要な戻り値は

google goで不要な戻り値は"_"(アンダースコア)で受ければいいらしい。

                for _, p := range result.Patch {

とか。