1 Scala中字符串的格式化输出
1-1 字符串格式化输出(java)
源码
val name = "张三"
val age = 1
val url = "www.baidu.com"
// s是字符串,d是数值输出
println("name = " + name + " age =" + age + " url = " + url)
1-2 字符串格式化输出(C语言)
val name = "张三"
val age = 1
val url = "www.baidu.com"
// 字符串插值:通过$引用(类似PHP)
println(s"name = $name,age = $age,url = $url")
1-3 字符串格式化输出(PHP)
val name = "张三"
val age = 1
val url = "www.baidu.com"
// 类似C语言,字符串通过%传值.(格式话输出)
printf("name = %s,age = %d,url = %s \n", name, age, url)
1-4 字符串格式化输出(scala中方式)
1-4-1 s方式
val name = "张三"
val age = 1
val url = "www.baidu.com"
// scala 提供的 插值 这样写避免了上面通过"%s""%d" 格式化的问题,有点类似EL表达式
// 这样也避免了值的顺序
println(s"name = ${name},age = ${age},url = ${url}")
1-4-2 f 方式
val name = "张三"
val age = 1
val url = "www.baidu.com"
//下面是格式化输出 将字符串前面的s打印出来
println(f"name = ${name},age = ${age}%.2f,url = ${url}")
1-4-3 raw 方式
val name = "张三"
val age = 1
val url = "www.baidu.com"
// raw 这样的到原始字符串
println(raw"name = ${name},age = ${age}%.2f,url = ${url}")
1-5 所有方式的结果
name = 张三 age =1 url = www.baidu.com
name = 张三,age = 1,url = www.baidu.com
name = 张三,age = 1,url = www.baidu.com
name = 张三,age = 1,url = www.baidu.com
name = 张三,age = 1.00,url = www.baidu.com
name = 张三,age = 1%.2f,url = www.baidu.com