在Kotlin多行字符串中转义的模板

如果我想在多行字符串中使用$符号,我该如何逃避它?

 val condition = """ ... $eq ... """ 

$eq被解析为对变量的引用。 如何逃避$ ,以便它不会被认为是参考变量? (Kotlin M13)

从文档

原始字符串由三引号(“”“)分隔,不包含转义,可以包含换行符和任何其他字符

您将需要使用带有换行符的标准字符串

 " ...\n \$eq \n ... " 

或者你可以使用文字表示

 """ ... ${'$'}eq ... " 

s: http : //kotlinlang.org/docs/reference/basic-types.html#string-literals

有趣的,但那是有效的:

 val eq = "\$eq" print("""... $eq ..."""") // just like you asked :D 

实际上,如果eq是一个数字(价格或者某物),那么你可能要单独计算它,而且我建议的额外的外部计算也不会受到影响。