Scala教程
Scala面向对象
Scala高级

Scala 字符串插值

Scala 字符串插值

从 Scala 2.10.0 开始,Scala 提供了一种从数据创建字符串的新机制。它被称为字符串插值。字符串插值允许用户直接在处理后的字符串文字中嵌入变量引用。 Scala 提供了三种字符串插值方法: s、f 和 raw。

Scala 程序示例: 不使用 s 方法

这是一个不使用字符串中的 s 方法的简单示例。
class StringExample{
    var pi = 3.14
    def show(){
        println("value of pi = "+pi)		
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new StringExample()
        s.show()
    }
}
输出:
value of pi = 3.14

Scala 字符串插值示例

该程序在打印函数中使用字符串插值。您可以看到插值的优势。在这里,我们没有使用 + 运算符来连接字符串对象。
class StringExample{
    var pi = 3.14
    def show(){
        println(s"value of pi = $pi")
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new StringExample()
        s.show()
    }
}
输出:
value of pi = 3.14

Scala 字符串插值示例 使用 s 方法

字符串插值的 s 方法允许我们在字符串对象中传递变量。您不需要使用 + 运算符来格式化输出字符串。在以下示例中,将字符串变量传递给打印函数中的 string。该变量由编译器求值,变量由值替换。
class StringExample{
    var s1 = "Scala string example"
    def show(){
        println(s"this is $s1")
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new StringExample()
        s.show()
    }
}
输出:
this is Scala string example

Scala 字符串插值示例 使用 f 方法

f 方法用于格式化字符串输出。它就像 c 语言的 printf 函数,用于生成格式化输出。您可以在打印函数中传递任何类型的变量。
class StringExample{
    var s1 = "Scala string example"
    var version = 2.12
    def show(){
        println(f"this is $s1%s, scala version is $version%2.2f")
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new StringExample()
        s.show()
    }
}
输出:
this is Scala string example, scala version is 2.12

Scala 字符串插值示例 使用原始方法

字符串插值的原始方法用于生成原始字符串。它不解释字符串中存在的特殊字符。让我们看一个例子。
class StringExample{
    var s1 = "Scala \tstring \nexample"    
    var s2 = raw"Scala \tstring \nexample"    
    def show(){
        println(s1)
        println(s2)
    }
}
object MainObject{
    def main(args:Array[String]){
        var s = new StringExample()
        s.show()
    }
}
输出:
Scala	string 
example
Scala \nstring \nexample
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4