String 如何编写函数来获取字符串的第一个和最后一个字符?

String 如何编写函数来获取字符串的第一个和最后一个字符?,string,function,kotlin,char,String,Function,Kotlin,Char,我试图调用一个函数来获取字符串的第一个和最后一个字母,并将其转换为字符 fun main() { val kotlin = "Kotlin".getFirstAndLast() val dicoding = "Dicoding".getFirstAndLast() val kotlinFirstChar = kotlin["first"] val kotlinLastChar = kotlin["last"] val dicodingFirstChar

我试图调用一个函数来获取字符串的第一个和最后一个字母,并将其转换为字符

fun main() {
    val kotlin = "Kotlin".getFirstAndLast()
    val dicoding = "Dicoding".getFirstAndLast()

    val kotlinFirstChar = kotlin["first"]
    val kotlinLastChar = kotlin["last"]

    val dicodingFirstChar = dicoding["first"]
    val dicodingLastChar = dicoding["last"]

    println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for second letter")
    println("First char Dicoding is $dicodingFirstChar and $dicodingLastChar for second letter")

}
我需要将字符串更改为Char,它必须是Char。我该怎么做

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

    return mapOf<String,Char>(

            "first" to "${this[0]}",
            "last" to "${this[this.length-1]}"
    )
}
fun String.getFirstAndLast():映射{
返回地图(
“第一个”到“${this[0]}”,
“last”到“${this[this.length-1]}”
)
}

您可以按如下方式重写函数

fun String.getFirstAndLast() = mapOf("first" to this.first(), "last" to this.last())

您可以按如下方式重写该函数

fun String.getFirstAndLast() = mapOf("first" to this.first(), "last" to this.last())

您可以这样做:

fun main() {
    fun String.getFirstAndLast() = first() to last()

    val (kotlinFirstChar, kotlinLastChar) = "Kotlin".getFirstAndLast()
    val (dicodingFirstChar, dicodingLastChar) = "Dicoding".getFirstAndLast()

    println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for last letter")
    println("First char Dicoding is $dicodingFirstChar and $dicodingLastChar for last letter")
}
  • 提供字符串的第一个
    Char
  • 提供字符串的最后一个
    Char
  • first()to last()
    创建第一个和最后一个字符的组合
  • val(foo,bar)=pair
    用于从该对中提取值
结果:

First char Kotlin is K and n for last letter
First char Dicoding is D and g for last letter

您可以这样做:

fun main() {
    fun String.getFirstAndLast() = first() to last()

    val (kotlinFirstChar, kotlinLastChar) = "Kotlin".getFirstAndLast()
    val (dicodingFirstChar, dicodingLastChar) = "Dicoding".getFirstAndLast()

    println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for last letter")
    println("First char Dicoding is $dicodingFirstChar and $dicodingLastChar for last letter")
}
  • 提供字符串的第一个
    Char
  • 提供字符串的最后一个
    Char
  • first()to last()
    创建第一个和最后一个字符的组合
  • val(foo,bar)=pair
    用于从该对中提取值
结果:

First char Kotlin is K and n for last letter
First char Dicoding is D and g for last letter
“${this[0]}”
为什么要将它放在
之间?它将字符转换为字符串。只需使用
this[0]
“${this[0]}”
为什么要将它放在
之间?它将字符转换为字符串。只需使用此[0]