日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

【Go实战基础】程序里面数据是如何显示到浏览器当中的

發布時間:2023/12/20 HTML 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Go实战基础】程序里面数据是如何显示到浏览器当中的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、簡介

二、模版庫

三、菜鳥實戰

1、新建文件

2、編譯和運行

3、運行結果

3.1、運行后服務啟動,控制臺輸出

3.2、瀏覽器輸入后結果?

一、簡介

在 Web 中, 我們通常需要在后端將一些數據渲染到 HTML 文檔中,? HTML 就可以在瀏覽器中顯示,從而實現動態的網頁效果。

模板可以被理解為事先定義好的 HTML 文檔。模板渲染可以被簡單理解為文本替換操作: 是后端用相應的數據去替換 HTML 文檔中實現準備好的標記。模板技術多種多樣,但本質是將模板文件和數據通過模板引擎生成最終的HTML文檔。

二、模版庫

Go 提供了兩個基礎模板庫 :

  • text/template
  • html/template

html/template 在渲染頁面模板時會在后臺進行一些編碼,以幫助防止造成代碼注入(XSS 攻擊),用的比較多,所以我們主要使用這個模版庫來做實戰。

三、菜鳥實戰

實戰場景:使用?html/template 模版渲染數據到瀏覽器中

馬上安排!

1、新建文件

/** @Author: 菜鳥實戰* @FilePath: /go110/go-014/g014.go* @Description: html/template 模版渲染數據到瀏覽器*/package mainimport ("fmt""html/template""log""net/http""runtime" )// 用戶信息 type User struct {Name stringGender stringAge int }// 顯示數據 func render(w http.ResponseWriter, r *http.Request) {//加載模板 解析模板, 此處輸入文件絕對路徑t, err := template.ParseFiles("yourpath/index.html")if err != nil {log.Println("模版解析錯誤, err %v ", err)return}// 渲染字符串name := "user1"//err = t.Execute(w, name)// 渲染結構體user := User{Name: name,Gender: "女",Age: 23,}// 渲染 mapm := map[string]interface{}{"name": name,"gender": "男","age": 25,}//err = t.Execute(w, m)// 渲染數組carList := []string{"汽車","火車","貨車",}// 把對象傳輸到模板展示err = t.Execute(w, map[string]interface{}{"name": name,"m": m,"user": user,"carList": carList,})if err != nil {log.Println("渲染模版失敗, err %v", err)return} }func main() {// 使用內置函數打印println("Hello", "菜鳥實戰")http.HandleFunc("/", render)err := http.ListenAndServe(":8009", nil)if err != nil {log.Println("http服務啟動異常, err: %v", err)}// 當前版本fmt.Printf("版本: %s \n", runtime.Version())fmt.Printf("菜鳥實戰,持續學習! \n") }

對應的模版文件 index.html 為

<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Hello</title> </head> <body> <p>名稱 {{ .user.Name }}</p> <p>年齡 {{ .user.Age }}</p> <p>性別 {{ .user.Gender }}</p> ? <p>名稱 {{ .m.name }}</p> <p>年齡 {{ .m.age }}</p> <p>性別 {{ .m.gender }}</p><hr>{{if .carList}}{{range .carList}}<div>{{ . }}</div>{{else}}<div><strong>no rows</strong></div>{{end}}{{else}}<p>carList為空</p>{{end}} </body> </html>  

2、編譯和運行

# 1、生成模塊依賴
go mod init g014
?
# 2、編譯
go build g014.go?
?
# 3、編譯后的目錄結構

└── go-014
? ? ├── g014
? ? ├── g014.go
? ? └── go.mod
? ? └── index.html


# 4、運行
go run g014

3、運行結果

3.1、運行后服務啟動,控制臺輸出

Hello 菜鳥實戰

3.2、瀏覽器輸入后結果?

??

?菜鳥實戰,持續學習!

總結

以上是生活随笔為你收集整理的【Go实战基础】程序里面数据是如何显示到浏览器当中的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。