golang http 程式設計 2(模版渲染)

2021-08-06 03:17:38 字數 3968 閱讀 5741

傳入的資料型別中的元素必須大寫開頭,否則訪問不到該元素

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>編譯並執行

瀏覽器訪問結果:

詳解:withrange他們兩個是相輔相成使用

摘抄一段渲染**

}

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...