Kotlin 字符串转义特殊字符:$

Kotlin string escape special char: $

这是我的草稿:

// how to present $-$ as Kotlin string
val var1 = "$-$"
val var2 = "$-$"

print("${var1.count()}: $var1")
print("${var2.count()}: $var2")

print("${var1 == var2}")

有人可以解释为什么 var2 有效吗? (不需要转义第二个 $ 字符?)

Kotlin 中模板字符串中的模板表达式是一个美元 ($),后跟一个名称或花括号中的表达式(请参阅 String templates documentation)。

字符串 var2 中后面没有任何内容的单个 $ 符号不需要转义,因为它不是模板表达式。