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标签等(代码片段

DOM探索之基础详解——学习笔记

学习笔记 链接

ReactJs学习笔记01

OpenCV 学习笔记(颜色直方图计算 calcHist)

JSP 学习笔记