gpt4 book ai didi

templates - 在 Golang 中,如何将特定类型的映射定义为唯一类型?

转载 作者:IT王子 更新时间:2023-10-29 02:30:21 27 4
gpt4 key购买 nike

所以我正处于一个尴尬的地方,我试图将上下文数据传递给模板,并且没有很多非常好的示例不涉及传递预先存在的结构。我想出的最好的是如下所示:

templ.Execute(writer, map[string]interface{}{
"thingyA": ThingyA,
"thingyB": ThingyB,
})

使用上面的内容,我可以通过使用 {{ .thingyA.[PROPERTY] }} 在我的模板中引用 ThingyA 及其所有属性和方法。所以这本身就很好,因为它允许我以简单的 Django 风格定义上下文,而无需使用匿名结构,这会有点笨拙。

但我想知道是否有某种方法可以定义一个新类型 Context,这样我就可以将上面的内容简化为以下内容:

templ.Execute(writer, Context{
"thingyA": ThingyA,
"thingyB": ThingyB,
})

也就是说,我想定义一个特定的类型 Context,它总是具有 map[string]interface{} 的形式,并且可以用相同的方式初始化作为 map 。关于如何解决这个问题有什么想法吗?

最佳答案

type Context map[string]interface{}
c := Context{"foo": 1, "bar": 2}

Playground .

关于templates - 在 Golang 中,如何将特定类型的映射定义为唯一类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25143461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com