printf 在 scala 中如何工作?

Kay*_*ayV -1 formatting scala

我正在学习 Scala 和 Spark,想要打印一些格式化的日志。

这是我得到的一些例子:

val flag : Boolean = true 
val charA : Char = 'a' 
val piVal : Float = 3.14159265f
val num : Int = 1 

println(f"val of pi = $piVal%.3f")

println(f"another formatting : $num%05d")

println(s"values like $num $flag $charA")

println(s"evaluate expression = ${1+2}")
Run Code Online (Sandbox Code Playgroud)

但我不明白这一切的意义。

请建议何时使用 f 以及何时将 s 与 printf 一起使用以及使用它的格式是什么?

小智 7

有关此内容的文档可以在String Interpolation中找到:

  • s直接在字符串中使用变量时使用
println(s"values like $num $flag $charA")
Run Code Online (Sandbox Code Playgroud)
  • f当您想要调整字符串中的格式时使用,类似于其他语言中的 printf,例如在示例中使用 3 位小数打印它:
println(f"val of pi = $piVal%.3f")
Run Code Online (Sandbox Code Playgroud)