with的意思我们先来看看with是什么意思
某翻译软件自动翻译的意思如上图所示,那么这个函数究竟怎么用呢
with函数的一般结构是:
with(Object){
// to do something
// 我们可以在这个函数体内使用this代表object,this可以省略
}
如果上面的写法不太好理解,那么我们可以这样看这个函数的定义
public fun with(obj:Objects):Objects{
}
1、函数名称为with
2、函数的参数为:Object
3、函数的返回值为:Object
4、这个函数是kotlin给我们内置的一个函数
5、这个函数可以在任意地方调用
接下来我们看看怎么使用
下面这段代码是遍历一下String,然后使用StringBuilder进行拼接(强行凑的逻辑😂)
val str = "I love kotlin"
val array = str.toCharArray()
val builder = StringBuilder()
//with函数有返回值,返回值是函数体中最后一行表达式
val result= with(builder){
for (ch in array){
this.append(ch.toInt())
//this 可以省略
// append(ch.toInt())
}
//最后一行表达式为返回值
toString()
}
当然,with的参数可以使用匿名内部类
val str = "I love kotlin"
val array = str.toCharArray()
//with函数有返回值,返回值是函数体中最后一行表达式
//参数可以使用匿名内部类
val result= with(StringBuilder()){
for (ch in array){
this.append(ch.toInt())
//this 可以省略
// append(ch.toInt())
}
//最后一行表达式为返回值
toString()
}
网友评论