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

执行结果

相关推荐
0_0梅伊阁诗人12 小时前
Django ORM 模型
开发语言·数据库·笔记·python·oracle·django
林夕忆梦_猫13 小时前
初识C++
开发语言·c++
lightqjx13 小时前
【C++】string类 模拟实现
java·开发语言·c++
只_只13 小时前
B1013 PAT乙级JAVA题解 数素数
java·开发语言
minji...13 小时前
C++ list的模拟实现
开发语言·c++·list
00后程序员张13 小时前
iOS App 混淆与资源保护:iOS配置文件加密、ipa文件安全、代码与多媒体资源防护全流程指南
android·安全·ios·小程序·uni-app·cocoa·iphone
千册13 小时前
pyside6 的pdf显示测试 -- 01
开发语言·python·pdf
axban14 小时前
QT M/V架构开发实战:M/V架构的初步认识
开发语言·数据库·qt
Starshime14 小时前
【C语言】变量和常量
c语言·开发语言
晨非辰14 小时前
#C语言——刷题攻略:牛客编程入门训练(十):攻克 循环控制(二),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio