傳入的資料型別中的元素必須大寫開頭,否則訪問不到該元素main.go
package main
import (
"fmt"
"os"
"text/template"
)type persion struct
func main()
p := persion
if err := t.execute(os.stdout, p); err != nil
}
index.html
hello }p>
age: }p>
}p>
body>
html>
編譯並執行:
// 利用結構體渲染
mytemplate.execute(writer, user)
}func inittemplate(filename string) (err error)
return
}func main()
}index.html
}title>
head>
hello }p>
age: }p>
age: }p>
body>
html>
編譯並執行
使用http client訪問(使用瀏覽器訪問更直觀)
使用方法:
user["title"] = "個人**"
// 渲染到html中
mytemplate.execute(writer, user)
}func inittemplate(filename string) (err error)
return
}func main()
}index.html
}title>
head>
hello }p>
}hello, old man }p>
}hello, yong man }p>
}}p>
body>
html>
編譯執行
user["title"] = "個人**"
frienda := persion
friendb := persion
friendc := persion
var friend persion
// 設定user 的friend key 為friend的切片
user["friend"] = friend
mytemplate.execute(writer, user)
}func inittemplate(filename string) (err error)
return
}func main()
}index.html
}title>
head>
hello }p>
}hello, old main }p>
}hello, yong man }p>
}} 的朋友們:p>
}border="1">
姓名td>
年齡td>
描述td>
tr>
}}td>
}td>
}td>
tr>
}table>
}}p>
body>
html>編譯並執行
瀏覽器訪問結果:
詳解:with
和range
他們兩個是相輔相成使用
摘抄一段渲染**
}
把border="1">
姓名td>
年齡td>
描述td>
tr>
}}td>
}td>
}td>
tr>
}table>
}**中with .friend
.friend
這個陣列變成.
供後面的range
使用,range .
每一次迴圈乙個結構體friend
出來進行渲染。
c 模版元程式設計
編譯時計算階乘 includeusing namespace std templateclass factorial template class factorial 1 int main 編譯時展開迴圈 includeusing namespace std templateclass loop t...
go語言模版程式設計
傳送門 柏鏈專案學院 模板是將乙個事物的結構規律予以固定化 標準化的成果,它體現的是結構形式的標準化。對於我們程式設計師來說,更直白的理解是 對於要輸出的內容,個人位置需要引數化填充,需要填充的引數位置是固定的,輸出的內容是有統一標準的。就像是我們小時候做的填空題,題目固定,有固定的位置需要填充,模...
2 模版 輕量html模版渲染庫 cJinja
介紹 cjinja 是乙個使用cpp編寫的輕量html模版解析庫,依賴 ejson 來實現模版的資料替換 在jinja中稱為context,上下文 模版的語法基本與django jinja一致,功能還算豐富。原始碼僅有700行,適合學習,覺得不錯的點個star吧。該程式為 中的乙個模組 編譯使用cm...