是否存在类似javascript es6字符串模板文字的Go字符串模板?
我正在寻找一种在Go中实现JavaScript ES6字符串模板文字的方法。比如说在javascript中是否存在类似javascript es6字符串模板文字的Go字符串模板?,javascript,go,templates,ecmascript-6,string-literals,Javascript,Go,Templates,Ecmascript 6,String Literals,我正在寻找一种在Go中实现JavaScript ES6字符串模板文字的方法。比如说在javascript中 let name = 'espeniel'; let test = `Hi ${name}!` console.log(test); 结果 你好,埃佩尼尔 在这样的句子中,即使是在一次尝试中,也没有办法分配变量吗?不完全相同,但是标准库中的程序包非常接近 不同之处在于,不能仅通过名称使用模板外定义的Go变量的值,必须传递要在模板中使用的值。但是您可以传递一个映射或结构,并且可以引用模板中
let name = 'espeniel';
let test = `Hi ${name}!`
console.log(test);
结果
你好,埃佩尼尔强>
在这样的句子中,即使是在一次尝试中,也没有办法分配变量吗?不完全相同,但是标准库中的程序包非常接近
不同之处在于,不能仅通过名称使用模板外定义的Go变量的值,必须传递要在模板中使用的值。但是您可以传递一个映射或结构,并且可以引用模板中的键或结构字段(通过它们的名称)
例如:
var params = struct {
Name string
Age int
}{"espeniel", 21}
t := template.Must(template.New("").Parse(`Hi {{.Name}}, you are {{.Age}}!`))
if err := t.Execute(os.Stdout, params); err != nil {
panic(err)
}
哪些输出(在上尝试):
参见相关内容:还有
fmt.Sprintf
,它更简洁,但格式字符串语法不太友好。
Hi espeniel, you are 21!