【第三阶段】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)
}

执行结果

相关推荐
lzhdim8 分钟前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
嘿嘿嘿x312 分钟前
Linux记录过程
linux·开发语言
默 语21 分钟前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
止观止21 分钟前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext
卷心菜狗31 分钟前
Python进阶-深浅拷贝辨析
开发语言·python
时寒的笔记32 分钟前
js逆向7_案例惠nong网
android·开发语言·javascript
雨白1 小时前
深入理解 Kotlin 协程 (三):返璞归真,探寻协程基础设施的底层基石
kotlin
Evand J1 小时前
【MATLAB例程】基于低精度IMU、GNSS的UAV初始航向(三维角度)校准的仿真,包含卡尔曼滤波、惯导解算与校正
开发语言·matlab·gnss·imu·卡尔曼滤波
feng_you_ying_li1 小时前
c++之哈希表的介绍与实现
开发语言·c++·散列表
网域小星球1 小时前
C 语言从 0 入门(十四)|文件操作:读写文本、保存数据持久化
c语言·开发语言·文件操作·fopen·fprintf