相较于Java的输出方式,Scala显得更加灵活和多样,首先需要了解的是,在Scala中,print方式的调用主要是调用预定义对象Predef的print方法,这个对象不用import就可以直接使用。
以下是自己整理的几种常用的输出方式:
(1)普通输出方式:
object HelloWorld {
def main(args: Array[String]): Unit = {
var i:Int = 10
val j:Int = 20
println("Hello World")
println(i + j)
}
}
(2)插值字符串输出方式:
object HelloWorld {
def main(args: Array[String]): Unit = {
val name:String = "hikari"
val age:Int = 30
print(s"username = $name, age = $age")
}
}
这样的好处是可以少些+号,避免字符串拼写错误出现。
(3)格式化输出
object HelloWorld {
def main(args: Array[String]): Unit = {
val name:String = "hikari"
val age:Int = 30
//print(s"username = $name, age = $age")
printf("name = %s age = %d",name,age)
}
}
(4)多行输出
object HelloWorld {
def main(args: Array[String]): Unit = {
//val name:String = "hikari"
//val age:Int = 30
//print(s"username = $name, age = $age")
//printf("name = %s age = %d",name,age)
println(
"""
|select
|*
|from user
|where name = 'aaaa'
|""".stripMargin)
}
}
这种方式主要是在使用SparkSQL的时候会比较方便,而且看起来非常清晰;| 的作用主要是顶格输出的作用,如果省略或者删除的话会出现内容不对齐的情况,使得代码看起来不是很美观。