Does the Kotlin compiler translate \"Hello, $name!\" using something like
\"Hello, $name!\"
java.lang.String.format(\"Hello, %s!\", name)
or is
The Kotlin compiler translates this code to:
new StringBuilder().append("Hello, ").append(name).append("!").toString()
There is no caching performed: every time you evaluate an expression containing a string template, the resulting string will be built again.