Action-Go语言学习笔记
Posted 旧时星空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Action-Go语言学习笔记相关的知识,希望对你有一定的参考价值。
Action–Go语言学习笔记
action主要用于流程控制,循环,模板等操作,通过使用action可以在模板中完成简单逻辑处理(复杂逻辑处理应该在go中实现,传递给模板的数据应该是已经加工完的数据)
if 使用
- if写在模板中和写在go文件中功能是相同的,区别是语法
- 布尔函数会将任何类型的零值视为假,其余视为真。
- if后面的表达式中如果包含逻辑控制符在模板中实际上是全局函数
{{$n:=123}} html模板中定义全局变量
{{if lt $n 456}} 引用全局变量
语句体
{{else 或 else if...或 end}}
{{if gt a b}} 表示if a>b
{{if lt a b}} 表示if a<b
go后端代码
func welcome(w http.ResponseWriter,r *http.Request){
t,_:=template.ParseFiles("view/index.html")
t.Execute(w,"")
}
func main(){
server:=http.Server{Addr:":8899"}
http.HandleFunc("/",welcome)
server.ListenAndServe()
}
html前端代码
<body>
{{$n:=1234}}
{{if lt $n 456}}
执行if
{{else}}
执行else
{{end}}
</body>
range的使用
-
range遍历数组或切片、map、channel时,在range内容中{{.}}表示获取迭代变量
<body> {{range .}}{{/*此处dot为传递的参数内容}} {{.}}{{/*此处dot为迭代变量}} {{end}} </body>
go后端代码
func welcome(w http.ResponseWriter,r *http.Request){ t,_:=template.ParseFiles("view/index.html") //arr:=[]string{"第一个","第二个"} m:=map[string]string{"key1":"value1","key2":"value2"} t.Execute(w,m) } func main(){ server:=http.Server{Addr:":8899"} http.HandleFunc("/",welcome) server.ListenAndServe() }
模板嵌套
在一些页面中有一些组成部分是相同的未经改变,为节省代码量会将特定使用的相同部分做成一个模板可以进行引用。
1.给一个HTML模板命名
{{define"名称"}}
html
{{end}}
2.在其他HTML模板中引用
{{template"名称"}}调用指定的HTML模板
{{template "名称" "传递到指定模板的参数"}}
`
2.在其他HTML模板中引用
{{template"名称"}}调用指定的HTML模板
{{template "名称" "传递到指定模板的参数"}}
以上是关于Action-Go语言学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段