2017-06-08 6 views
-1

でテンプレートにリストを渡すことができ、私はどのようにはどのように私はGolang

{{range .name}} 
{{.}} 
{{end}} 

のようなテンプレート内のすべての名前を一覧表示し、これをシェイプアップしたい

rows:= db.Query("SELECT * FROM names") 

var name string 

for rows.Next() { 
    rows.Scan(&name) 
} 

//There should be a map 

t.Execute(w,p) 

のように見えるのクエリを使用することができます私は正確にそれを行うのですか?

+0

名前のリストを作成していません。また、このリンクを確認してください:https://golang.org/pkg/text/template/#hdr-Variables – Gerep

+0

あなたは正しいですが、私は実際の例を探しています。 – user3298760

+0

注目すべき点が1つあります。変数名はエクスポートされず、結果としてgoのテンプレート化では使用できません。 – reticentroot

答えて

0

これは何か?あなたは、一般的に選択されているかフィールドそれを明確にするために、あなたのSQLクエリで*を使用しないでください

rows, err := db.Query("SELECT name FROM names") 
if err != nil { 
    // Handle error 
} 

names := make([]string, 0) 

for rows.Next() { 
    var name string 

    err := rows.Scan(&name) 
    if err != nil { 
     // Handle error 
     continue 
    } 

    names = append(names, name) 
} 

t := template.New("index") 
t, _ = t.Parse(`{{range .}}{{.}} {{end}}`) 
t.Execute(w, names) 

は物事

  • を注意する
  • 場合は、データベース内のすべてのフィールドテーブルNULLとなります。sql.NullBool,可能性のあるエラーを回避するために、sql.NullInt64またはsql.NullString

可能な出力

Bob Jim David Henry Jerry 
+0

あなたはすばらしいです、それは私が探しているものです! – user3298760

+0

これがあなたにとっての解決策だったら、それをあなたの答えとして受け入れることを検討してください:) – Acidic