javascript - 是否存在像 javascript es6 字符串模板文字这样的 Go 字符串模板?

标签 javascript go templates ecmascript-6 string-literals

我正在寻找一种方法来在 Go 中执行类似 JavaScript ES6 字符串模板文字的操作。例如。 在 javascript 中

let name = 'espeniel';
let test = `Hi ${name}!`
console.log(test);

结果

嗨,epeniel! 即使在 Go 中也没有办法在这样的句子中分配变量吗?

最佳答案

不完全一样,但是text/templatehtml/template标准库中的包非常接近。

不同之处在于,您不能仅通过名称使用在模板外部定义的 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)
}

哪些输出(在 Go Playground 上尝试):

Hi espeniel, you are 21!

参见相关:Format a Go string without printing?

关于javascript - 是否存在像 javascript es6 字符串模板文字这样的 Go 字符串模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64786951/

相关文章:

javascript - 在设备改变方向时使用 jquery 动态调整内容大小

node.js - Golang 中的 Bcrypt 密码散列(与 Node.js 兼容)?

go - 如何获得一个 slice 中的值的差异?

c++ - 如何为模板类调用非默认构造函数?

c++ - 是否可以在模板特化中匹配模板化基础?

javascript - 如何从 iframe 中设置 Chrome 打印对话框的默认文件名?

javascript - 类型错误 : Cannot read property 'url' of undefined for JSONPlaceholder

javascript - mapbox 由于模板未初始化

Javascript : Assign a function and pass parameter at the same time

json - 在golang中解析json文件