沒了細so的903還是不是那個903?

雖然漸漸已經少聽903了,也有很多我依然喜歡的DJ,但沒了細so的903還是不是那個903?定還是每個時代都有那個時代的903,只是我們長大了,那些DJ都長大了,時代亦都長大了,而903對我來說則只剩下情懷了。

Gin(Golang)におけるHTMLテンプレート記述方法

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

type C struct {
Id int
Name string
}

func main() {
router := gin.Default()
router.LoadHTMLGlob("templates/*.tmpl")
router.GET("/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"a": "a",
"b": []string{"b_todo1","b_todo2"},
"c": []C{{1,"c_mika"},{2,"c_risa"}},
"d": C{3,"d_mayu"},
"e": true,
"f": false,
"h": true,
})
})
router.Run(":8080")
}

 

<html>

{{/* コメント*/}}

{{/* ドット名前でgoから受け取れる */}}
<h1>{{.a}}</h1>

{{/* ループはrange, ドットで要素にアクセス, endで終了 */}}
<ul>
{{range .b}}
<li>{{.}}</li>
{{end}}
</ul>

{{/* 構造体は、ドットにメンバ名でアクセス */}}
{{range .c}}
<p>{{.Id}}<b>{{.Name}}</b></p>
{{end}}

{{/* 構造体、ループなしなら, ドット変数ドットメンバ */}}
<p>{{.d.Id}}<b>{{.d.Name}}</b></p>

{{/* if文 */}}
{{if .e}}
<p> e true </p>
{{else}}
<p> e false </p>
{{end}}

{{if .f}}
<p> f true </p>
{{else}}
<p> f false </p>
{{end}}

{{/* goソースでgは指定されていない */}}
{{if .g}}
<p> g true </p>
{{else}}
<p> g false </p>
{{end}}

{{/* withはifが真の場合、ドットに情報が設定される */}}
{{with .h}}
<p> h1 {{.}} </p>
{{end}}

{{/* withでなくif使うと、ドットアクセスで特定要素が出力されず */}}
{{if .h}}
<p> h2 {{.}} </p>
{{end}}

{{/* 変数宣言できる */}}
{{/* printf など関数使用可能。fmt.Printfのエイリアス */}}
{{$i := "ii"}}
<p>{{$i}}</p>
<p>{{printf "%s-%s" $i "iii"}}</p>

{{/* defineで定義することも可 */}}
{{define "J"}}
<p>jjj</p>
{{end}}

<hr>

{{/* defineで定義された呼び出しはtemplate */}}
{{template "J"}}

{{/* 不等号比較など、小なりはlt */}}
{{$k := 8}}
{{if lt 5 $k}}
<p> 8 large </p>
{{else}}
<p> 5 large </p>
{{end}}

</html>

 

新入D小動物