タグ

2016年1月13日のブックマーク (5件)

  • #golang mapからstructに変換するには?

    reflect pkgを使った方法最初はなんとなくリフレクションを使ってやるのかなぁと思って、調べてたらこんな感じのが出てました。(参考リンク) http://play.golang.org/p/5Inl2jO7zL encoding/json pkgを使った方法ただちょっとこれだと扱いにくくて(MapToStructの中身を修正すれば扱いやすくなるかもしれないですが)、パフォーマンスを気にしなければ、mapを一旦JSONにして、そのJSONをstructにするという方法が扱いやすいということを教えてもらいました。 http://play.golang.org/p/Kd7TRoRG5w ライブラリmapstructureを使う方法https://github.com/mitchellh/mapstructure mapstructure.Decode関数を使えばよさげ。 補足:mapから

    kk_Ataka
    kk_Ataka 2016/01/13
  • Goのjson.Marshal/Unmarshalの仕様を整理してみる · I Will Survive

    August 13, 2014 - golang TL;DR goの構造体につけるタグは、フォーマットが不正だと読み込まれない(当然) json.Marshalは、構造体のjsonタグがあればその値をキーとしてJSON文字列を生成する json.Unmarshalは、構造体のjsonタグがあればその値を対応するフィールドにマッピングする jsonタグがなければ、完全一致もしくはcase-insensitiveなフィールドにマッピングする では、ひとつづつ確認していきます。 goの構造体につけるタグは、フォーマットが不正だと読み込まれない(当然) goの構造体にはタグの機能があって、型の後に特定のフォーマットでアノテーションが記述できます type MyType struct { Hoge string `foo:"1" bar:"2"` } key:"value"をスペース区切りで複数かけ

    kk_Ataka
    kk_Ataka 2016/01/13
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    kk_Ataka
    kk_Ataka 2016/01/13
  • Go言語(Golang) はまりどころと解決策

    Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく GoGo であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ

    kk_Ataka
    kk_Ataka 2016/01/13
  • http.client.Doでretryをするとき - Qiita

    client := &http.Client{} req, _ := http.NewRequest("POST", "http://localhost", bytes.NewBuffer([]byte(`test`))) resp, err := client.Do(req) if err != nil { resp, err = client.Do(req) } client := &http.Client{} req, _ := http.NewRequest("POST", "http://localhost", bytes.NewBuffer([]byte(`test`))) resp, err := client.Do(req) if err != nil { req, _ := http.NewRequest("POST", "http://localhost", bytes

    http.client.Doでretryをするとき - Qiita
    kk_Ataka
    kk_Ataka 2016/01/13