【第三阶段】kotlin中使用带let的安全调用

let常常和?.配合使用,如果前面的对象为null,let不执行,能够执行到let里面 对象一定不为null

1.不为null

kotlin 复制代码
fun main() {
   var name:String?="kotlin" //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

2.为" "

kotlin 复制代码
   var name:String?=" " //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

3.为null

kotlin 复制代码
fun main() {
   var name:String?=null //name是一个可空类型,发出广播,调用的地方必须补救措施
 var r = name?.let{
      //it==name,如果能执行到这个里面it一定不为null
      if(it.isBlank()){ //如果it=""打印
        "default" 
      }else{
          "$it"
      }
  }
 println(r)
}

执行结果

相关推荐
CoderYanger9 小时前
前端基础——CSS练习项目:百度热榜实现
开发语言·前端·css·百度·html·1024程序员节
alexhilton10 小时前
在Jetpack Compose中创建CRT屏幕效果
android·kotlin·android jetpack
虾..10 小时前
C++ 哈希
开发语言·c++·哈希算法
liu****10 小时前
14.日志封装和线程池封装
linux·开发语言·c++
青青草原羊村懒大王10 小时前
python基础知识三
开发语言·python
将编程培养成爱好10 小时前
C++ 设计模式《统计辅助功能》
开发语言·c++·设计模式·访问者模式
fie888910 小时前
基于循环谱分析的盲源分离信号处理MATLAB
开发语言·matlab·信号处理
kgduu10 小时前
go-ethereum之rpc
开发语言·rpc·golang
yong999011 小时前
MATLAB倍频转换效率分析与最佳匹配角模拟
开发语言·前端·matlab
已黑化的小白11 小时前
Rust 的所有权系统,是一场对“共享即混乱”的编程革命
开发语言·后端·rust