- 博客(13)
- 收藏
- 关注
原创 Kotlin基础10
类型系统中可以为空和不可为空的引用是不同的。不为空则返回长度,否则返回空。它被翻译成一个复杂的表达式,用于筛选空值,而且。但我们任然想要调用方法,有些办法可以解决。安全调用在链式调用是是很有用的。这样的调用链在任何一个属性为空都会返回空。的产生步骤是一样的,但参数顺序是相反的。或者用相同的参数列表和返回类型的扩展功能。在构造函数中没初始化的成员在其它地方使用。右边列的函数是否可用 对应的二元函数。在许多语言中都存在的一个大陷阱包括。,就是访问一个空引用的成员,结果会。编译器会跟踪你检查的信息并允许在。
2024-04-01 19:29:19 294
原创 Kotlin基础09
如果转换是不被允许的那么转换符就会抛出一个异常。示,和固定的优先级。为实现这样的运算符,我们提供了固定名字的数字函数和扩。数或者扩展函数 如果这样的函数缺失或不明确,则返回错误。注意这些操作符和其它的一样,都被优化为基本类型并且不会产生多余的开销。允许我们实现一些我们自定义类型的运算符实现。没有应用者,则指向的是最内层的闭合范围。展函数,比如二元运算符的左值和一元运算符的参数类型。一个类,或者表达式函数,或者带标签的扩展字面函数。编译器是这样解决有后缀的操作符的比如。空的,则上面的代码会抛出空异常。
2024-03-31 19:37:56 311 1
原创 Kotlin基础07
注意这些类的实例需要用相应的构造函数来创建,使用。接口定义了一个范围,或者是数学意义上的一个间隔。为避免不需要的重复,让我们先考虑一个数字类型。定义了数学上的级数。就是它可以迭代,因此它是。
2024-03-27 19:42:20 266 1
原创 Kotlin基础06
这种语法叫多重声明。多重声明一次创建了多个变量。要是一个函数想返回俩个值。比如,一个对象结果,一个是排序的状态。数字的范围有个附加的特性:它们可以迭代。component1() component2() 的返回值。如果你想迭代数字并想反过来,这个相当简单,你可以使用。是另一个转换原则的例子。可以对任何可比较的类型做操作,但对整数。表示数学范围上的一个间隔。基本类型是优化过的。也可以使用指定步数的迭代,这个用到。为了让这个可以工作,我们需要。的一个子类,因此可以使用在。下一个元素都是前一个元素的。
2024-03-26 19:40:35 326
原创 Kotlin05基础
不过这样的场景不常见,它需要所有的挂起都通过库的特殊方式实现。挂起的协程可以存储以及作为一个对象进行传递,该协程会继续持有其状态和本地。当遍历这样的数列时,每遍历一步就生成一个斐波那契数,这样就可以从。这里并不打算全盘解释协程内部的工作原理,而是给大家一个整体上的概念。到恢复协程时,本地变量会被恢复为挂起之前的状态。运行上面的代码运,如果我们输出前三个元素的数字与生成循环的。有些情况下,库的作者需要阻止用户添加新的挂起线程的。函数生成新的斐波那契数,就可以生成一个无限的斐波那。的成员或者其它扩展。
2024-03-25 19:37:45 661 1
原创 Kotlin基础04
另一个不同就是协程不能被任意的操作挂起,而仅仅可以在被标记为 挂起点 的地。这样的函数被称为 挂起函数,因为调用它可能导致挂起协程(库可以在调用结果已。库会将其转换为异步操作。一般来说,协程是一种可以不阻塞线程但却可以被挂起的计算过程。昂贵的,尤其是在高负载的情形下,因为只有小部分的线程是实际运行的,因此阻。重要的是,挂起是可以背用户库控制的,库的作者可以决定在挂起时根据需要进行。度其执行到不同的线程(甚至不同的机器),而代码依然想顺序执行那么简单。还有一点,挂起函数可以是虚函数,当覆写它们时,必须指定。
2024-03-24 19:31:23 294 1
原创 kotlin基础03
函数文本总是在大括号里包裹着,在完全语法中参数声明是在括号内,类型注解是。注意如果一个函数接受另一个函数做为最后一个参数,该函数文本参数可以在括号。上面没有讲到可以指定返回值的函数。参数以及返回值和普通函数是一样的,如果它们可以从上下文推断出参数类型,则。一个函数要接受另一个函数作为参数,我们得给它指定一个类型。这意味着字面函数内的返回会返回到一个闭合函数,一个函数类型可以像上面那样写,也可有命名参数,更多参看。字面函数和表达式函数的另一个区别是没有本地返回。注意函数表达式的参数总是在括号里传递的。
2024-03-22 19:33:17 207 1
原创 kotlin基础2
当空值可能出现时应该明确指出该引用可空。会产生错误因为它们中有可能会有空值。将会在空值检测后自动转换为非空值。将会在空值检测后自动转换为非空值。使用可空变量以及空值检查。中不包含整数时返回空。
2024-03-21 19:40:45 73 1
原创 MVVM登录注册,登陆成功跳转到视频详情接口的运用与练习
Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
2023-12-11 20:03:19 1175 1
原创 Databinding和Viewbinding应用与实践
User user = new User("胡豪哲",20);android:text="可观察对象"android:text="事件绑定"map.put("111","小猫");map.put("333","小猴");--List集合-->--Map集合-->
2023-12-08 18:24:28 387 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人