2009/11/14

Recent entries from same category

  1. net/url に JoinPath が入った。
  2. Go の struct は小さくできる(fieldalignment のススメ)
  3. 「エキスパートたちのGo言語」を読んだ。
  4. Go の http パッケージに MaxBytesHandler が入った。
  5. text/template と html/template に continue/break が入った。

amachangのtwitterタイムラインの奴をhttp.Getでやってみた。
早速 Go 言語を試してみる! - IT戦記

http.Get は何故か動かなかったので net.Dial を使った。

http://d.hatena.ne.jp/amachang/20091111/1257928890

こうかな?わかりません><
package main

import (
    "fmt";
    "json";
    "io";
    "http";
)

func main() {
  if r, _, err := http.Get("http://twitter.com/statuses/public_timeline.json"); err == nil {
    b, _ := io.ReadAll(r.Body);
    j, _, _ := json.StringToJson(string(b));
    for i := 0; i < j.Len(); i++ {
      data := j.Elem(i);
      fmt.Printf("%s: %s\n",
        data.Get("user").Get("screen_name"),
        data.Get("text"));
    }  
  }
}

今日、始めてGo触ってみたけど、重大な欠点を見つけた。
# vi twitter.go
コードかきかき...
# 8g twitter.go
うし!コンパイルだ!
twitter.go:7: imported and not used: net
おろっエラーだ
# vi twitter.go
直すぞ!直すぞ!
# !8
もっかいコンパイルだ!
bash: !8: event not found
><
言語仕様で、multiple-valueをちゃんとmultiple-valueで受けないといけないのが堅すぎる気がする。
pythonとかC++とか言われてるけど、私はluaなんじゃないかと思った。
Posted at by | Edit