2017-07-05 8 views
0

構造体のスライスとスライスの配列を作成しました。HTMLファイル内のスライス値のループ

rows, err := db.Query("SELECT id, title, featured_image, created_at from blogs order by created_at desc limit 0,6") 
    if err != nil { 
     ctx.Application().Logger().Fatalf("MySQL Error fetching row %s\n", err) 
    }   
    for rows.Next() { 
     rcan := rows.Scan(&id, &title, &featured_image, &created_at) 

     blog.id = id 
     blog.title = title 
     blog.featured_image = featured_image 
     blog.created_at = created_at 

     blogData = append(blogData, blog) 
    } 

、今、私が合格した "blogData" の値に "HTML" テンプレートや:などの値で

blog := blogs{} 
blogData := []blogs{} 

type blogs struct { 
    id    int 
    title   string 
    featured_image string 
    created_at  string 
} 

とは、変数内の "XYZ" 機能を作成しましたiterating以下のエラーが表示されます。

<ul> 
    {{ range $value := .blogData }} 
    <li>{{ $value.title }}</li> 
    {{ end }} 
    </ul> 

エラー:

template: master.html:18:5: executing "master.html" at <yield>: error calling yield: template: home.html:5:17: executing "home.html" at <$value.title>: title is an unexported field of struct type main.blogs 

は、どのように私は自分のテンプレートにblogData変数からの「タイトル」やその他の値を印刷することができます。

私は$valueを印刷する場合、それは

形式以下
{5 This is Title img/blog.jpg 2017-07-05T10:11:30+05:30 } 

内のすべての値を返します。しかし、私は別に、titlefeatured_imageおよびその他の日付を印刷したいです。

ご協力いただければ幸いです。私はそれがエクスポートされたフィールドである必要があり、テンプレートにあなたの構造体のフィールドにアクセスするには、「github.com/get-ion/ion」の枠組みに

おかげ

答えて

1

を使用しています。あなたの構造体は、

type blogs struct { 
    ID    int 
    Title   string 
    Featured_image string 
    Created_at  string 
} 

ツー更新Exported/Unexported Identifiers In Goについては、こちらをご覧ください。

+0

私は唯一の違いは大文字ですが、これは私の構造体で使用する必要がありますか? – user3767643

+0

はい、与えられたリンクで説明されているように、最初の文字の大文字小文字が目立っています。 – Adrian

+0

はい、それを読んでください。どうもありがとう :) – user3767643

関連する問題