我仍在学习扩展,这是一个研究案例,我不理解“ return mapOf()”
fun main() {
val kotlin = "Kotlin".getFirstAndLast()
val amazing= "Amazing".getFirstAndLast()
val kotlinFirstChar = kotlin["first"]
val kotlinLastChar = kotlin["last"]
val amazingFirstChar = amazing["first"]
val amazingLastChar = amazing["last"]
println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for second letter")
println("First char Amazing is $amazingFirstChar and $amazingLastChar for second letter")
}
// TODO
fun String.getFirstAndLast(): Map<String, Char>{
return mapOf()
}
预期结果:
First char Kotlin is K and n for second letter
First char Amazing is A and g for second letter
答案 0 :(得分:0)
在Kotlin中,mapOf
是kolin.collections包中的实用程序函数。它会返回一个新的不可变映射。
例如val map = mapOf(1 to "one", 2 to "two", 3 to "three")
这里,1、2和3是键,而1、2和3是各自的值。
如果您可以提及自己喜欢哪种语言,我们可以使用该语言进行类比。
答案 1 :(得分:0)
我可能认为您想沾染destructing declarations和Pair。
fun main() {
val (kotlinFirstChar, kotlinLastChar) = "Kotlin".getFirstAndLast()
val (amazingFirstChar, amazingLastChar) = "Amazing".getFirstAndLast()
println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for second letter")
println("First char Amazing is $amazingFirstChar and $amazingLastChar for second letter")
}
fun String.getFirstAndLast(): Pair<Char, Char> = first() to last()
虽然您也可以借助地图来做到这一点。
fun main() {
val kotlin = "Kotlin".getFirstAndLast()
val amazing= "Amazing".getFirstAndLast()
val kotlinFirstChar = kotlin["first"]
val kotlinLastChar = kotlin["last"]
val amazingFirstChar = amazing["first"]
val amazingLastChar = amazing["last"]
println("First char Kotlin is $kotlinFirstChar and $kotlinLastChar for second letter")
println("First char Amazing is $amazingFirstChar and $amazingLastChar for second letter")
}
fun String.getFirstAndLast(): Map<String, Char> =
mapOf("first" to first(), "last" to last())