GoLang

10分GO 10日目

いそがしいけど、コツコツするよ。

GO

プログラミング言語Go

第1章チュートリアル 1.3 重複した行を見つける

dup1やった・・んですが、ただコードを写しただけじゃ、動いてくれない。

https://github.com/Mikkegt/gopl.io-ch1-echo1/blob/master/ch1-dup1.go

むむぅ。最後の、printfのところが出ない。なぜじゃ。

この調子だと、第1章終わらせるのに2週間くらいかかりそう。

Print文

Print()
fmt.Print("Hello world!")

Hello world!

 

Fprint()、Fprintf()、Fprintln()

Fを先頭につけると、書き込み先が指定できる。

fmt.Fprint(os.Stdout, "Hello world!")

Hello world!

 

Println()、Fpirntln()、Spirntln()

おしりにlnがついている print文は、オペランドの間に半角スペースが入る。ついでに改行してくれる。

fmt.Println("Hello", "world!")

Hello world!(改行される)

 

Sprint()、Sprintf()、Splintln()

フォーマットした結果を返す。標準出力はしない。

hope := fmt.Sprint("Hello world!")
fmt.Print(hoge)

Hello world!

構造体の中身をjsonにしてprint文する

mongoからとってきたデーターを構造体に入れるまではできたのですが、ブラウザにどうだそうかとあれこれ試したのですが、なかなかうまくできず・・

type Hoge struct {
    Id      bson.ObjectId `bson:"_id"`
    name    string        `bson:"name"`
    Text[]  string        `bson:"text"`
}

こんな構造体があったとして、構造体、配列だし・・。以下のようにしたらできた。

import "encoding/json"
    (中略)
    var hoge []Hoge
    if err := c.Find(nil).All(&hoge); err != nil {
        log.Fatal(err)
    }
    b, _ := json.Marshal(hoge)
    fmt.Fprintf(w, "%s", b)

json.Marshal(hoge)

この部分。構造体の中身を全部 jsonに変換してくれる。

print文に突っ込んだら、ブラウザに表示できました。

 

今日は安眠できそうです。

明日はGoのお勉強会にいってきます。

Go好きな女子ばかりで、ほんわかしていて楽しいんだなぁ〜

今回は、GAE上に家計簿作るんだって。

また感想書きます〜

 

 

-GoLang