当前位置: 首页 > wzjs >正文

南澳网站建设百度双十一活动

南澳网站建设,百度双十一活动,wordpress调用文章代码,网站建设政府板块更多个人笔记见: github个人笔记仓库 gitee 个人笔记仓库 个人学习,学习过程中还会不断补充~ (后续会更新在github上) 文章目录 Template 模板基本示例语法1. 基本输出语法2. 控制结构3. 空白字符控制4. Must函数 Temp…

更多个人笔记见:
github个人笔记仓库
gitee 个人笔记仓库
个人学习,学习过程中还会不断补充~ (后续会更新在github上)

文章目录

  • Template 模板
    • 基本示例
    • 语法
      • 1. 基本输出语法
      • 2. 控制结构
      • 3. 空白字符控制
      • 4. Must函数

Template 模板

基本示例

package mainimport ("fmt""html/template""os"
)// 定义数据结构
type Person struct {Name    stringAge     intEmail   stringIsAdmin bool
}type Company struct {Name      stringEmployees []PersonFounded   int
}func main() {// 示例1:基本语法演示basicTemplateDemo()// 示例2:条件判断和循环conditionalAndLoopDemo()// 示例3:HTML模板htmlTemplateDemo()// 示例4:Must的使用mustTemplateDemo()
}// 基本语法演示
func basicTemplateDemo() {fmt.Println("=== 基本语法演示 ===")// {{.}} 表示当前数据对象tmpl1 := `Hello {{.}}!`t1 := template.Must(template.New("basic").Parse(tmpl1))t1.Execute(os.Stdout, "World")fmt.Println()// {{.Name}} 访问结构体字段person := Person{Name: "张三", Age: 30, Email: "zhangsan@example.com"}tmpl2 := `姓名: {{.Name}}, 年龄: {{.Age}}, 邮箱: {{.Email}}`t2 := template.Must(template.New("person").Parse(tmpl2)) //person 是模板名字t2.Execute(os.Stdout, person)   //对应的结构体fmt.Println("\n")
}// 条件判断和循环演示
func conditionalAndLoopDemo() {fmt.Println("=== 条件判断和循环演示 ===")company := Company{Name:    "科技公司",Founded: 2020,Employees: []Person{{Name: "李四", Age: 25, Email: "lisi@example.com", IsAdmin: true},{Name: "王五", Age: 28, Email: "wangwu@example.com", IsAdmin: false},{Name: "赵六", Age: 32, Email: "zhaoliu@example.com", IsAdmin: false},},}// 使用 {{range .}} 循环和 {{if}} 条件判断// {{- 和 -}} 用于去除空白字符tmpl := `公司: {{.Name}} (成立于 {{.Founded}}年)员工列表:{{- range .Employees}}- 姓名: {{.Name}}{{- if .IsAdmin}} (管理员){{else}} (普通员工){{end}} 年龄: {{.Age}}, 邮箱: {{.Email}}{{- end}}`//通过IsAdmin 进行判断是否是管理员t := template.Must(template.New("company").Parse(tmpl))t.Execute(os.Stdout, company) //传入的 company 是一个大结构体,里面包括 Employees 列表fmt.Println()
}// HTML模板演示
func htmlTemplateDemo() {fmt.Println("=== HTML模板演示 ===")// HTML模板会自动转义特殊字符htmlTmpl := `
<!DOCTYPE html>
<html>
<head><title>{{.Name}} - 员工列表</title>
</head>
<body><h1>{{.Name}}</h1><p>成立年份: {{.Founded}}</p><h2>员工信息</h2><table border="1"><tr><th>姓名</th><th>年龄</th><th>邮箱</th><th>角色</th></tr>{{- range .Employees}}<tr><td>{{.Name}}</td><td>{{.Age}}</td><td>{{.Email}}</td><td>{{- if .IsAdmin -}}<span style="color: red;">管理员</span>{{- else -}}普通员工{{- end -}}</td></tr>{{- end}}</table>
</body>
</html>
`company := Company{Name:    "示例科技公司",Founded: 2020,Employees: []Person{{Name: "张三", Age: 30, IsAdmin: true},{Name: "李四", Age: 25, IsAdmin: false},},}// 创建HTML文件file, err := os.Create("company.html")  //创建接收的文件if err != nil {panic(err)}defer file.Close()t := template.Must(template.New("html").Parse(htmlTmpl))t.Execute(file, company)  //这里不是 os.stdout输出了,而是输出到了文件中fmt.Println("HTML文件已生成: company.html")
}// Must的使用演示
func mustTemplateDemo() {fmt.Println("=== Must使用演示 ===")// Must会在模板解析失败时直接panic// 这是一个正确的模板validTemplate := `Hello {{.Name}}!`t1 := template.Must(template.New("valid").Parse(validTemplate))person := Person{Name: "测试用户"}fmt.Print("正确模板输出: ")t1.Execute(os.Stdout, person)fmt.Println()// 演示错误处理(注释掉以避免程序崩溃)/*// 这是一个错误的模板语法,Must会直接panicinvalidTemplate := `Hello {{.Name!` // 缺少右括号t2 := template.Must(template.New("invalid").Parse(invalidTemplate))*/// 不使用Must的错误处理方式invalidTemplate := `Hello {{.Name!`  //这里缺少了右边括号    t2, err := template.New("invalid").Parse(invalidTemplate) //没有用 Must,用 Must 会 panic 导致程序退出if err != nil {fmt.Printf("模板解析错误: %v\n", err)} else {t2.Execute(os.Stdout, person)}
}

语法

1. 基本输出语法

  • {{.}}: 输出当前数据对象
  • {{.Name}}: 输出结构体的Name字段
  • {{.Field.SubField}}: 访问嵌套字段

2. 控制结构

  • {{if .IsAdmin}}...{{else}}...{{end}}: 条件判断
  • {{range .Employees}}...{{end}}: 循环遍历
  • {{with .Field}}...{{end}}: 设置上下文

3. 空白字符控制

  • {{-: 去除左侧空白字符
  • -}}: 去除右侧空白字符
  • {{- if .IsAdmin -}}: 去除两侧空白字符

4. Must函数

  • template.Must(): 在模板解析失败时直接panic
  • 适用于程序启动时的模板初始化
  • 类似于panic的检验机制
  • 如果需要接受错误就不要用 Must
http://www.dtcms.com/wzjs/434212.html

相关文章:

  • 海南省住建设厅网站报监的工程优化一个网站需要多少钱
  • wordpress企业网站实例如何搭建企业网站
  • wordpress博客动漫主题四川seo
  • 做网站要先买域名吗百度推广怎么登录
  • 影视logo免费设计北京关键词优化报价
  • 山东网站制作设计google adwords
  • 中国电力建设股份部官方网站百度网站权重查询
  • 网站图片如何做防盗链win10优化软件
  • 知名企业网站例子核心关键词如何优化
  • 帮人做网站怎么收费吸引客人的产品宣传句子
  • 长春建设网站公司东莞网络排名优化
  • 围绕政府网站建设互联网广告销售好做吗
  • 手机网站页面制作百度一下图片识别
  • 平面设计接单网站有哪些网站推广的基本方法有
  • 2015 军考 网站建设nba最新排行榜
  • 做购物网站开发价格郑州seo实战培训
  • 长春商城网站开发亚马逊seo是什么意思
  • 安阳 做网站开鲁网站seo站长工具
  • 那几个网站可以做h5企业推广网站
  • 建网站培训学校重庆网站排名推广
  • 深圳福田网站建设seosem是指什么意思
  • 网站设计线框图产品线上营销推广方案
  • 黑河企业网站建设公司深圳最新疫情
  • 做民宿推广都有哪些网站西宁网站seo
  • 擦边球网站怎么做福州短视频seo方法
  • 上海网站建设公司兴田德润简介seo关键词优化软件合作
  • 花溪区生态文明建设局网站搜索引擎网站优化和推广方案
  • 郑州网站开发招聘百度24小时人工客服电话
  • b站推广入口mba智库seo网络推广公司排名
  • 长沙网站优化方法网站建设公司官网