语言前端模板开发指南

约 4 分钟 读完

语言前端模板开发指南

327 浏览 2 评论 约 4 分钟 读完

发布于

Go 语言前端模板开发指南

Go 写前端模板**确实还是用 HTML 和 CSS**,但 Go 有自己的一套**模板语法**,用来把后端数据"填"进 HTML 里。


一、Go 写前端模板的核心思路

HTML + CSS 负责结构和样式,Go 模板负责"动态数据"

Go 标准库自带两个模板包:

  • text/template:纯文本模板

  • html/template ✅(**写前端必用**,自动防 XSS)


二、最简单的 Go 模板示例

1️⃣ 目录结构

text

project/

├── main.go

└── templates/

└── index.html


2️⃣ HTML 模板(templates/index.html)

html

Hello {{ .Name }}

  • {{ range .Items }}
  • {{ . }}
  • {{ end }}

3️⃣ Go 后端代码(main.go)

go

package main

import (

"html/template"

"net/http"

)

type PageData struct {

Title string

Name string

Items []string

}

func index(w http.ResponseWriter, r *http.Request) {

data := PageData{

Title: "Go 模板示例",

Name: "张三",

Items: []string{"Go", "HTML", "CSS"},

}

t, _ := template.ParseFiles("templates/index.html")

t.Execute(w, data)

}

func main() {

http.HandleFunc("/", index)

http.ListenAndServe(":8080", nil)

}

运行:---

三、Go 模板常用语法速查

| 功能 | 写法 |

|------|------|

| 输出变量 | {{ .Name }} |

| 条件判断 | {{ if .Show }}...{{ end }} |

| 循环 | {{ range .List }}...{{ end }} |

| 引入子模板 | {{ template "header" }} |

| 防 XSS | ✅ html/template 自动处理 |


四、Go 模板 ≠ 前端框架

| 对比 | Go 模板 | Vue / React |

|------|---------|-------------|

| 渲染位置 | 后端 | 浏览器 |

| 交互能力 | 弱 | 强 |

| SEO | ✅ 好 | ❌ 需要 SSR |

| 适合场景 | 后台 / 官网 | 单页应用 |

👉 Go 模板适合:

  • 后台管理系统

  • 官网

  • 博客

  • 管理后台

👉 不适合:

  • 强交互 SPA(那就用 Vue / React)

五、常见搭配方案

✅ 传统后端渲染(你问的这种)

登录后查看评论

本站评论仅对登录用户开放。

去登录