GoWeb_动作

本文介绍了Go模板中的条件和迭代操作。通过`if`和`else`关键字,我们可以根据传递给模板的数据判断并显示不同内容。例如,检查用户是否成年。同时,`range`动作用于遍历元素,如显示一个字符串切片中的所有元素。示例代码展示了如何结合Go的http包来执行模板并传递数据。
摘要由CSDN通过智能技术生成
Go 模板的动作就是一些嵌入到模板里面的命令,这些命令在模板中需要放到两个
大括号里 {{ 动作 }} ,之前我们已经用过一个 很重要的动作 :点(.),它代表了传递给模
板的数据。

条件动作

<html>
<head>
<title>模板文件</title>
<meta charset="utf-8"/>
</head>
<body>
<!-- 嵌入动作 -->
{{if .}}
你已经成年了!
{{else}}
你还未成年
{{end}}
</body>
</html>
func handler(w http.ResponseWriter, r *http.Request) {
//解析模板文件
t := template.Must(template.ParseFiles("hello.html"))
//声明一个变量
age := 16
//执行模板
t.Execute(w, age > 18)
}

在mian函数里调用,写法

http.HandleFunc("/testIf",testIf)
<body>
{{if .}}
{{end}}


{{if .}}
条件满足将显示我
{{else}}
else的内容
{{end}}

</body>

迭代动作

range 后面的点代表被遍历的元素;要显示的内容里面的点代表遍历
到的元素
<html>
<head>
<title>模板文件</title>
<meta charset="utf-8"/>
</head>
<body>
<!-- 嵌入动作 -->
{{range .}}
<a href="#">{{.}}</a>
{{else}}
没有遍历到任何内容
{{end}} 
</body>
</html>
func handler(w http.ResponseWriter, r *http.Request) {
//解析模板文件
t := template.Must(template.ParseFiles("hello.html"))
//声明一个字符串切片
stars := []string{"马蓉", "李小璐", "白百何"}
//执行模板
t.Execute(w, stars)
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go是下一代的互联网开发语言; Go是下一代互联网时代的C语言; Go的并发如何如何高; Go的语言如何如何简洁; 国外某公司全部由NodeJS转向Go开发; 国外某公司从ruby转向go之后,服务器数量从20多台降到了2台; Go项目开发的优点 (1)开发体验好 go的编译速度极快,可以在保存完代码后直接刷新浏览器看效果,开发体验接近动态语言。 (2)Go很容易将错误定位到代码行上 除view模版之外,go很容易将错误定位到具体的行上,方便开发人员排错。 (3)语法相对简洁 确实相对来说,能省一些代码量。 (4)很容易部署 这个很容易部署是相对.NET、Java等这些编译型语言,因为go也是编译型的,它开发的程序,不用考虑依赖,直接会生成一个.exe文件,任何平台下都可以直接运行。这也是当时很吸引我的地方。 当然,go编译后的程序也相对较大。 (5)轻量级 相对Java来讲,Go语言比较轻量级,无论是IDE还是开发、部署,都不像Java那么笨重、复杂。 (6)相对严谨 在Go中,如果你导入了一个包,但是没有用,或你定义了一个变量,后面没有使用这个变量都会报错。 本套课程从GoWeb基础讲起,并配有实战案例,内容包含:Web简介、使用Go搭建服务器、使用Go对数据库进行增删改查、使用 Go处理请求和响应以及Go的模板引擎等。实战案例的功能模块包括:登录注册、图书的增删改查、分页、购物车、订单管理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值