🏠 ホーム
フロントエンド
PHP
Go言語
プログラミングの理解
プログラマーへの道
Google API

最近Go言語でハマった4選

  プログラミング >     Go言語 >  

mapにセットできない事象

        if r.Level2 > 0 {
            breadcrumb["level"] = "2"
            breadcrumb["category_name"] = ""
            c.Breadcrumb[r.Level2] = breadcrumb
        }
        if r.Level3 > 0 {
            breadcrumb["level"] = "3"
            breadcrumb["category_name"] = ""
            c.Breadcrumb[r.Level3] = breadcrumb
        }

上のコードで下がデバッグコード

 Breadcrumb map[%!s(int=9):map[category_name: level:3] %!s(int=10):map[category_name: level:3] %!s(int=26):map[category_name: level:3] %!s(int=27):map[category_name: level:3]]

なぜかうまく変数にセットできない

breadcrumb := map[string]string{}

で初期値を付けないといけないみたい

下記のようにしないといけない。

        if r.Level1 > 0 {
            breadcrumb := map[string]string{}
            breadcrumb["level"] = "1"
            breadcrumb["category_name"] = ""
            c.Breadcrumb[r.Level1] = breadcrumb
        }
        if r.Level2 > 0 {
            breadcrumb := map[string]string{}
            breadcrumb["level"] = "2"
            breadcrumb["category_name"] = ""
            c.Breadcrumb[r.Level2] = breadcrumb
        }
        if r.Level3 > 0 {
            breadcrumb := map[string]string{}
            breadcrumb["level"] = "3"
            breadcrumb["category_name"] = ""
            c.Breadcrumb[r.Level3] = breadcrumb
        }

Breadcrumb map[%!s(int=9):map[category_name: level:1] %!s(int=10):map[category_name: level:2] %!s(int=26):map[category_name: level:3] %!s(int=27):map[category_name: level:3]]

 

定義していないbsonのデータ

DBをmongoに移行したので、bsonを利用してデータを取得しないといけない。

しかし

opts := options.Find().SetProjection(bson.D{{"updated_at", -1}})

でリザルトの構造体が下記の時_idしか取得できない。何もエラーが出ない

type CategoryTreeStruct struct {
	LeafID    int       `bson:"_id"`
	Level1    int       `bson:"level_1"`
	Level2    int       `bson:"level_2"`
	Level3    int       `bson:"level_3"`
}

構造体にupdated_atがなかったから、2時間ハマった

 

カラム名は思い出

元々はクイズを作り合って回答し合おうというていのWEBアプリだったので、回答者なるカラムがrespondent_idになってびっくり

とりあえずrespondent_idをuser_idに変更

1件しか取得できないDBの構造なのにSelectでsingle, 複数 関係なしに複数取るようになっていた

[]structもanswersと複数形にするべきだと今は思うanswerで動いてしまっているので、特に変更はなし

 

string型からHTML型への変換

n.NoteTxtHtml = template.HTML(n.NoteTxt)

これをググるだけで1時間経過、ポイントがずれる検索結果ばかり。。。

なので、ネット上に挙げておく

登録日:

更新日:

by

コメント         tweetでコメント