String templates
Java developers will be familiar with the usage of string concatenation to mix expressions with string literals:
val name = "Sam" val concat = "hello " + name
String templates are a simple and effective way of embedding values, variables, or even expressions inside a string without the need for pattern replacement or string concatenation. Many languages now support this kind of feature, and Kotlin's designers also opted to include it (you might see the technique referred to in the Kotlin context as string interpolation).
String templates improve on the Java experience when using multiple variables in a single literal, as it keeps the string short and more readable.
Usage is extremely straightforward. A value or variable can be embedded simply by prefixing with a dollar ($
) symbol:
val name = "Sam" val str = "hello $name"
Arbitrary expressions can be embedded by prefixing with a dollar ($
) and wrapping in braces {}
:
val name = "Sam"...