首页 > 解决方案 > 创建地图带有字符串的第一个和最后一个字符

问题描述

我想创建输出:第一个字母是 K,第二个字母是 n,但我不知道如何映射此代码

fun main() {
    val text = "Kotlin".getFirstAndLast()

    val firstChar = text["first"]
    val lastChar = text["last"]

    // TODO 2
    println("First letter is $firstChar and $lastChar for second letter")

}

// TODO 1
fun String.getFirstAndLast(): Map<String, Char>{

    return mapOf()
}

标签: functionkotlin

解决方案


由于StringCharSequence的实现,您可以从中使用firstlast函数。你只想要一对从头到尾然后你可以使用Pair而不是 Map (只是一个建议)。

fun main() {
    val (firstChar, lastChar) = "Kotlin".getFirstAndLast()

    println("First letter is $firstChar and $lastChar for last letter")
}

fun String.getFirstAndLast(): Pair<Char, Char> =
    first() to last()

如果你真的想在这里使用地图:

fun main() {
   val text = "Kotlin".getFirstAndLast()

   val firstChar = text["first"]
   val lastChar = text["last"]

   println("First letter is $firstChar and $lastChar for last letter")
}

private fun String.getFirstAndLast(): Map<String, Char> =
   mapOf("first" to first(), "last" to last())

推荐阅读