Kotlin关键字

23 篇文章 0 订阅
3 篇文章 0 订阅

https://www.jianshu.com/p/77e42aebd7bb

let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,
let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。
Kotlin:
1.inline(内联函数)关键字:也就是说inline关键字实际上增加了代码量,但是提升了性能,
		而且增加的代码量是在编译期执行的,对程序可读性不会造成影响
2.object:静态类
3.Any:根类型,类似Java的Object,但是又区别
4.data:修饰类,数据类,类似Bean
5.Kotlin中有两种延迟初始化的方式。一种是lateinit var,一种是by lazy。
		https://blog.csdn.net/liyi1009365545/article/details/84236433
		lateinit var只能用来修饰类属性,不能用来修饰局部变量,并且只能用来修饰对象,
		不能用来修饰基本类型(因为基本类型的属性在类加载后的准备阶段都会被初始化为默认值)lateinit var的作用也比较简单,就是让编译期在检查时不要因为属性变量未被初始化而报错。
		Kotlin相信当开发者显式使用lateinit var 关键字的时候,他一定也会在后面某个合理的时机
		将该属性对象初始化的(然而,谁知道呢,也许他用完才想起还没初始化)。

 		首先两者的应用场景是略有不同的。
		然后,虽然两者都可以推迟属性初始化的时间,但是lateinit var只是让编译期忽略对属性
		未初始化的检查,后续在哪里以及何时初始化还需要开发者自己决定。而by lazy真正做到了
		声明的同时也指定了延迟初始化时的行为,在属性被第一次被使用的时候能自动初始化。
		但这些功能是要为此付出一丢丢代价的。
6.let:let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,
		let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。

使用Navigation进行Fragment管理的时候
界面跳转: Navigation.findNavController(it).navigate(R.id.action_page3 === nav_host_fragment.findNavController().navigate(R.id.loginPolicyFragment)

返回处理:当前Fragment返回到上一个Fragment
btn.setOnClickListener { Navigation.findNavController(it).navigateUp() } ===
top_back.singleClickListener { nav_host_fragment.findNavController().navigateUp() }
然后需要在Activity中重新方法:
override fun onSupportNavigateUp() = nav_host_fragment.findNavController().navigateUp()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值