当前位置:嗨网首页>书籍在线阅读

10-字符串

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.3.5 字符串

在Kotlin中,字符串类型使用String表示。字符串定义后是不可变的,它由单个字符组成,可以通过索引来访问某个元素:s[i]。当然,也可以使用for循环来迭代字符串。

for (c in str) {
      println(c)
}

Kotlin的字符串主要分为两种:普通字符串和原生字符串。

1.普通字符串

这种字符串和Java类似,可以在其中加上转义符(如\n),转义符采用传统的反斜杠方式。

val s = "你好\n世界"

2.原生字符串

这种字符串使用3个引号(""")分界符括起来,内部没有转义并且可以包含换行和任何其他字符。

var s3 = """
         你好
          !
         世界
         """
    println(s3)

运行上面的代码,使用原生字符串包裹的内容会按原始格式输出,运行结果如图4-1所示。

45.png

图4-1 原生字符串按原始格式输出

3.字符串模板

Kotlin的字符串还有一项重要的功能,就是提供了字符串模板。所谓字符串模板,就是在字符串中添加若干个占位符,而占位符的具体内容会在使用时指定。

模板表达式以美元符(\$)开头,外加一个变量名,如“i = $i”中的“$i”就是一个占位符,其中“i”表示变量。

val i = 10
val r = "i = $i"    //得到 "i = 10"
val s = "abc"
val str = "$s.length is ${s.length}"    //计算得到 "abc.length is 3"

原生字符串和转义字符串内部都支持模板,如果需要在原生字符串中表示\$字符,则可以使用${表达式}语法。代码如下。

val price = """${'$'}9.99"""