ホームページ >バックエンド開発 >Golang >Go言語でテンプレートエンジンを使う方法

Go言語でテンプレートエンジンを使う方法

藏色散人
藏色散人転載
2020-09-12 13:29:564475ブラウズ

##golang チュートリアル

Go言語でテンプレートエンジンを使う方法

# テンプレート エンジンを使用して、困っている友達に役立つことを願っています。

Go言語でテンプレートエンジンを使う方法

#1 概要

応答本文を処理する場合、最も一般的な方法は、処理された HTML コードを送信することです。 HTML に埋め込む必要がある場合は、テンプレート エンジンが最適な選択です。

Go 言語では、テンプレート エンジンの関連機能を実装するために

html/template

パッケージが提供されます。簡単な使用例:

main.go

<pre class="brush:php;toolbar:false;">package mainimport ( &quot;html/template&quot; &quot;log&quot; &quot;net/http&quot;)func main() { // 设置 处理函数 http.HandleFunc(&quot;/&quot;, TestAction) 开启监听(监听浏览器请求) log.Fatal(http.ListenAndServe(&quot;:8084&quot;, nil))}func TestAction(w http.ResponseWriter, r *http.Request) { // 解析模板 t, _ := template.ParseFiles(&quot;template/index.html&quot;) // 设置模板数据 data := map[string]interface{}{ &quot;User&quot;: &quot;小韩说课&quot;, &quot;List&quot;: []string{&quot;Go&quot;, &quot;Python&quot;, &quot;PHP&quot;, &quot;JavaScript&quot;}, } // 渲染模板,发送响应 t.Execute(w, data)}</pre>

template/index.html

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>小韩说课</title></head><body>Hello, {{ .User }}<br>你熟悉的技术:<ul>{{ range .List }}    <li>{{.}}</li>{{end}}</ul></body></html>

実行結果:

上記のコードは、テンプレートの解析、データのレンダリング、結果操作への応答など、テンプレート エンジンの基本的な使用法を完了します。詳細は以下のとおりです。 2 Parse templateFunction

template.ParseFiles(filenames ...string) (*Template, error)

テンプレート ファイルを解析してテンプレート オブジェクトを取得できます。パラメータはテンプレート ファイルです。同時に、テンプレートファイルのファイル名(拡張子を除く)がテンプレートの名前として使用されます。

###template.New("name").Parse(src string)### を使用してテンプレート オブジェクトを作成し、テンプレート コンテンツの解析を完了することもできます。 ######3 データを適用して応答を送信######Function###func (t *Template) Execute(wr io.Writer, data Interface{}) error### 解析するデータを適用します。テンプレートを作成し、出力を wr に書き込みます。実行中にエラーが発生した場合、実行は停止しますが、wr のデータが書き込まれている可能性があります。 ######data は任意の型を受け入れることができます。最も一般的な型は、###map[string]interface{}### です。割り当てられたデータの一部を区別するために、さまざまな添え字が使用されます。テンプレートの ###.User###、###.List### を使用して、配布データの User および List にアクセスします。 ######以上! ######

以上がGo言語でテンプレートエンジンを使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。