另一本劇本

身為最盡忠職守嘅AO,潛伏喺敵對組織22年,喺歷史的關鍵時刻,幫大大添飯添麵,為鄰近地區示範左如何正確地表達述求嘅方式,同埋將啲隱藏喺自己身邊嘅墻頭草掘出來一網打盡。將皇冠上的明珠發光發亮到極致,為freedom 和 democracy在地球歷史上閃亮出最耀眼的光輝。

我覺得以後佢本自傳可以咁寫。

利申:我唔喺有心同佢洗白嘎。

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>