1.普通方式输出一个字串的信息
fun main() {
var info="Ktolin"
//普通方式
println("info的长度为${info.length}")
println("info的最后一个字符${info[info.length-1]}")
println("info全转换为大写${info.toLowerCase()}")
}
执行结果
2.apply函数的使用
apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身
fun main() {
var info="Ktolin"
//普通方式
println("info的长度为${info.length}")
println("info的最后一个字符${info[info.length-1]}")
println("info全转换为大写${info.toLowerCase()}")
println()
//内置函数apply的使用方式
//apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身
var infoNew:String=info.apply {
println("变量信息:$this")
//this可以省略
println("info的长度为${length}")
println("info的最后一个字符${length-1}")
println("info全转换为大写${toLowerCase()}")
}
}
执行结果
3.真正使用apply的规则
apply函数的特点:始终返回对象的类型,因此可以使用链式调用
package Stage3
fun main() {
var info="Ktolin"
//普通方式
println("info的长度为${info.length}")
println("info的最后一个字符${info[info.length-1]}")
println("info全转换为大写${info.toLowerCase()}")
println()
//内置函数apply的使用方式
//apply函数的特点:始终返回对象的类型,一般大部分情况下,匿名函数都会持有一个it,但是apply不会持有it,但是会持有this this等于对象本身
var infoNew:String=info.apply {
println("变量信息:$this")
//this可以省略
println("info的长度为${length}")
println("info的最后一个字符${length-1}")
println("info全转换为大写${toLowerCase()}")
}
println()
info.apply {
println("变量信息:$this")
}.apply {
//this可以省略
println("info的长度为${length}")
}.apply {
println("info的最后一个字符${length-1}")
}.apply {
println("info全转换为大写${toLowerCase()}")
}
}
执行结果