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

从Go模板调用方法

卫寒
2023-03-14
问题内容

假设我有

type Person struct {
  Name string
}
func (p *Person) Label() string {
  return "This is " + p.Name
}

如何从html / template使用此方法?我的模板中需要这样的东西:

{{ .Label() }}

问题答案:

只需省略括号就可以了。例:

package main

import (
    "html/template"
    "log"
    "os"
)

type Person string

func (p Person) Label() string {
    return "This is " + string(p)
}

func main() {
    tmpl, err := template.New("").Parse(`{{.Label}}`)
    if err != nil {
        log.Fatalf("Parse: %v", err)
    }
    tmpl.Execute(os.Stdout, Person("Bob"))
}

根据文档,您可以调用任何返回一个值(任何类型)或两个值(如果第二个是type)的方法error。在后一种情况下,Execute如果该错误为非nil
,则将返回该错误并停止执行模板。



 类似资料:
  • 问题内容: 我的角JS模板中有一个块 但是,foo.id属性有时可以包含时髦字符(’/’)。我想做这样的事情: 但这行不通吗?我怎样才能解决这个问题? 问题答案: 您可以创建一个过滤器来调用 例如 然后做 运行示例:http://jsfiddle.net/YApdK/

  • 问题内容: 我有两个模板T1和T2。我想获取T1的输出,并在T2内对其进行一些额外的处理。我的问题是: 如何将T1的输出存储在T2的变量中?这有可能吗? 这是一些伪模板: 问题答案: 没有内置支持将模板结果存储在模板变量中,仅用于包含结果。 但是,您可以使用所需的任何复杂功能注册自定义功能。您可以注册一个函数,该函数将执行由其名称标识的模板,并且可以将结果返回为,可以将其存储在模板变量中。 这样做

  • 本文向大家介绍web.py中调用文件夹内模板的方法,包括了web.py中调用文件夹内模板的方法的使用技巧和注意事项,需要的朋友参考一下 web.py的模板使用非常容易,但有时候我们需要做目录层级以便管理。那么如何使用目录层级的模板呢? 通常我们使用模板的时候先声明模板文件夹 使用templates文件夹下index.html模板 使用templates文件夹下list.html模板 以上所有的ht

  • 但是不知何故,method3()并没有被嘲笑,我仍然看到它打印的内容。但是,我可以成功地模拟method2()。也许是因为method2()是从method1()直接调用的,我正在测试的方法是什么?请建议我如何模拟方法3。 谢谢,梅赫

  • 问题内容: 我正在尝试创建一个用Go语言编写的静态对象,以与C程序(例如内核模块等)进行接口。 我已经找到了有关从Go调用C函数的文档,但是关于如何走另一条路却找不到很多。我发现这是可能的,但很复杂。 这是我发现的: 有关C和Go之间的回调的博客文章 CGO文档 Golang邮件列表帖子 有任何人对此有经验吗?简而言之,我正在尝试创建一个完全用Go编写的PAM模块。 问题答案: 您可以从C调用Go

  • 问题内容: 我有一个关于如何从模板HTML按钮调用视图函数的问题?像onclick函数一样?这是模板: 而views.py是: 非常感谢你。 问题答案: 一种选择是,你可以使用 像这样: (删除和) 如果你想加载页面的特定部分,而无需重新加载页面-你可以 和一个听众