scala 中的 s"foo $bar" 和 "foo %s".format(bar) 有什么区别

What is the difference between s"foo $bar" and "foo %s".format(bar) in scala

我是 Scala 新手。我曾经用这种方式在 scala 中编写格式化字符串 -> "foo %s".format(bar)。但是最近我发现了这样写格式化字符串的代码-> s"foo $bar"。我只是想知道两者之间有什么重大区别吗?提前致谢。

"foo %s".format(bar):Java String.format 隐藏在这种方法的背后。

s"foo $bar":这是 scala 的功能,称为 String interpolation,它允许以简洁的方式创建字符串文字。但是编译器需要一些额外的工作来处理这些字符串。