热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

text/html模板包中的"范围"操作和"管道"说明.Golang

如何解决《text/html模板包中的"范围"操作和"管道"说明.Golang》经验,为你挑选了1个好方法。

我尝试在text/html模板包中获得一些优点.我从golang网站上读过它的文档.很难理解究竟是什么意思.(点)一般而且在范围动作的某个时间.究竟什么意思是"管道",也许很难理解,因为我的英语不是母语):

{{pipeline}}
The default textual representation of the value of the pipeline
is copied to the output.

我们来看一个例子:

    data := map[string]interface{}{
        "struct": &Order{
            ID:     1,
            CustID: 2,
            Total:  3.65,
            Name: "Something",
        },
        "name1":  "Timur",
        "name2": "Renat",
    }
    t.ExecuteTemplate(rw, "index", data)

这是"索引":

{{define "index"}}
    {{range $x := .}}
        {{.}}
        {{$x}}
{{$.struct.ID}}

# the lines below don't work and break the loop # {{.ID}} # or # {{.struct.ID}} # what if I want here another range loop that handles "struct" members # when I reach "struct" field in the data variable or just do nothing # and just continue the loop? {{end}} {{end}}

输出:

帖木儿
帖木儿
1

Renat
Renat
1

{1 2 3.65 Something}
{1 2 3.65 Something}
1



1> Simon Whiteh..:

管道

模板包中的管道指的是您在命令行中执行的相同类型的"管道".

例如,这是在Mac上为您的NIC分配默认网关的一种方法:

route -n get default | grep 'gateway' | awk '{print $2}'

基本上,route -n get default先运行.管道字符不是将结果打印到控制台,而是|"获取route命令的输出,并将其推入grep命令".此时,grep 'gateway'运行它接收的输入route.grep然后将输出推入awk.最后,由于没有更多的管道,您在屏幕上看到的唯一输出是awk想要打印的内容.

这在模板包中是相同的.您可以将值传递给方法调用并将它们链接在一起.如:

{{ "Hello world!" | printf "%s" }}

这相当于 {{ printf "%s" "Hello World!" }}

See an example in the Go Playground here

基本上,

{{ "Hello World!" | printf "%s"           }}
    ^^^^^^^^^^^^               ^^^^^^^^^^
         |__________________________|

这在函数式语言中是非常常见的(从我所看到的......我知道它在F#中的一个东西).

点.

点是"上下文意识".这意味着,它取决于你把它放在哪里改变意义.当您在模板的正常区域中使用它时,它就是您的模型.在range循环中使用它时,它将成为迭代的当前值.

See an example in the Go Playground here

在链接示例中,仅在范围循环内,$x并且.是相同的.循环结束后,点返回传递给模板的模型.

检查"struct"

你的结构是一个键值对... a map.为此,您需要确保在范围循环中提取两个部分:

{{ range $key, $value = . }}

这将为您提供每次迭代时的键和值.之后,您只需要检查相等性:

{{ if eq $key "struct" }}
    {{ /* $value.ID is the ID you want */ }}

See an example on the Go Playground here

希望这会有所帮助.


推荐阅读
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
author-avatar
Levenmamatq_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有