在Kotlin的字符串模板中使用下划线(“_”)

在Kotlin中,我试图创建一个动态文件名,其中包含一个类型和一个如下所示的日期:

var filename = "ab_$type_$date.dat" 

但是,变量之间的第二个下划线会导致编译错误:

Kotlin:未解决的参考:name_

我知道我可以用旧的方式连接字符串:

 var filename = "ab_" + type + "_$date.dat" 

但我想知道是否有不同的方式来完成同样的事情。 有没有办法转义字符串模板中的特殊字符或任何其他方式来得到这个工作?

只需用花括号包装你的表情:

 var filename = "ab_${type}_${date}.dat" 

我们可以用$ {}来包装变量,以便在字符串中获取它的值。 在你的情况下,如果type =“java”和date =“7-11-2016”

 var fileName = "ab_${type}_${date}.dat" 

相当于

 fileName = "ab_java_7-11-2016.dat"