当前位置: 首页 > 面试题库 >

简单,如果不行就去模板

益清野
2023-03-14
问题内容

因此,我正在做一个简单的if检查结构中的布尔变量,但似乎不起作用,只是停止呈现HTML。

所以下面的结构是这样的:

type Category struct {
    ImageURL      string
    Title         string
    Description   string
    isOrientRight bool
}

现在,我可以显示一个带有类别的Category结构。

贝娄是一个结构的例子:

juiceCategory := Category{
    ImageURL: "lemon.png",
    Title:    "Juices and Mixes",
    Description: `Explore our wide assortment of juices and mixes expected by
                        today's lemonade stand clientelle. Now featuring a full line of
                        organic juices that are guaranteed to be obtained from trees that
                        have never been treated with pesticides or artificial
                        fertilizers.`,
    isOrientRight: true,
}

我已经尝试了多种方法,如下所示,但是它们都不起作用:

{{range .Categories}}
    {{if .isOrientRight}}
       Hello
    {{end}}
    {{if eq .isOrientRight true}}
       Hello
    {{end}}

   <!-- Print nothing -->
   {{ printf .isOrientRight }}

{{end}}

问题答案:

您必须从模板导出要访问的所有字段:将其首字母更改为大写I

type Category struct {
    ImageURL      string
    Title         string
    Description   string
    IsOrientRight bool
}

以及每个引用:

{{range .Categories}}
    {{if .IsOrientRight}}
       Hello
    {{end}}
    {{if eq .IsOrientRight true}}
       Hello
    {{end}}

   <!-- Print nothing -->
   {{ printf .IsOrientRight }}

{{end}}

每个未导出的字段只能从声明包中访问。您的软件包声明Category类型,text/templatehtml/template有不同的包,所以你需要出口,如果你想这些软件包能够访问它。

Template.Execute()
返回一个错误,如果您已经存储/检查了它的返回值,那么您将立即发现此错误,因为您将收到与此错误类似的错误:

模板::2:9:在<.isOrientRight>处执行“”:isOrientRight是结构类型为main的未导出字段。

在Go
Playground
上查看代码的工作示例。



 类似资料:
  • 1.2.3. 简单就是美 复杂滋生错误,错误能导致安全漏洞。这个简单的事实说明了为什么简单对于一个安全的应用来说是多么重要。没有必要的复杂与没有必要的风险一样糟糕。 例如,下面的代码摘自一个最近的安全漏洞通告: CODE: <?php $search = (isset($_GET['search']) ? $_GET['search'] : ''); ?> 这个流程会混淆$search变量受污染*

  • 本文向大家介绍dedecms如果更换目录,后台某项就进不去了如何解决?相关面试题,主要包含被问及dedecms如果更换目录,后台某项就进不去了如何解决?时的应答技巧和注意事项,需要的朋友参考一下 后台核心设置中修改成现在的 项目目录名称

  • 我正在尝试easyMock测试几个类/接口方法。方法,试图捕获参数,但得到一个或另一个错误。如果我只记录了一个期望值,它甚至不会捕获参数管道中的任何内容,如果我使用以下方法,我会得到如下错误代码。 结果是错误的 testFireChannelInitializer(com.obolus.generic.impl.DefaultChannelListenerTest)运行时间:3.812秒 你知道怎

  • 本文向大家介绍Android RecyclerView布局就这么简单,包括了Android RecyclerView布局就这么简单的使用技巧和注意事项,需要的朋友参考一下 RecyclerView是什么? 笔者个人看法,RecyclerView只是一个对ListView的升级版,这个升级的主要目的是为了让这个view的效率更高,并且使用更加方便。 我们知道,ListView通过使用ViewHold

  • 本文向大家介绍Python书单 不将就,包括了Python书单 不将就的使用技巧和注意事项,需要的朋友参考一下 每天都有小伙伴询问Python的书,哎呀,动力所致,书单来了。7本,涵盖范围蛮大的。Python热持续中,入门计算机首选语言。 python游戏编程快速上手 (斯维加特著) (点击,直接下载) 本书可以帮助读者在轻松有趣的过程中,掌握Python游戏编程的基本技能。本书适合不同年龄和层次

  • 变量命名 在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本着温故而知新的原则,这里要复习: 名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线) 注意: 区分大小写 禁止使用保留字 遵循通常习惯 以单一下划线开头的变量名(_X)不会被from module import *语句导入的。 前后有下划线的变量名(X)是系统定义的变量名,对解释器有特殊