
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
var 和 val定义一个可读可写的属性,定义一个只读的属性 就相当调用了函数, , 就相当于调用了 中所有的字段都需要初始化, 不像那样字段有默认值 错误:需要显式初始化器,隐含默认和 setter 类型 、生成类型、默认错误: 需要在构造函数中初始化或者添加初始化值, 类型 、生成 给字段下面加上自定义的和幕后字段无限递归问题:error:和会调用的函数, 然后又遇到再次调用无限循环同理:的会
java源码如下:kotlin编译器将文件加上做成了 java 的类名, 而 是类的静态方法, 在 kotlin 中被称之为 java调用kotlin只需要如此:下面是java调用kotlin顶层函数的方式函数声明和定义kotlin使用 fun 关键字定义函数:普通函数体形式:kotlin中还有表达式函数体形式, 如下:什么是表达式?, , ,这些都是表达式还有这三个也是表达式这里存在一个问题.
是一种可以为的类型, 本质是下面这样:作用在不影响程序运行性能的前提下, 显示的帮助程序员避免空指针异常 在java中这样容易出现空指针异常在实际的java项目,都需要判断当然之后出现的, 但还是麻烦的, 不仅使代码变得冗长而且还存在性能问题使用 kotlin 重写这个函数前需要程序员主动判断该函数是否接受实参为空的情况, 如果需要支持的话,在上面代码中,如果为的话, 则该函数直接返回, 函数调用
挂起函数可以异步返回单个值, 但如果需要返回多个值怎么办? 此时便可以使用异步流以前没有异步流的情况下, 我们使用传统方式将会是下面这样:随着我们不断学习, 发现还有一种比较好用的方式达到异步返回的功能:对比下两种方式你会发现, 的方式是等半天一下子同时(几乎)打印, 而的方式是一个一个一个的打印出来现在我们学习了 协程, 发现上面这段代码的其实是阻塞了主线程, 这是不对的, 如果运行 这段代码的
函数把当作参数传递给的参数, 然后返回的返回值返回新的值(函数类型参数带扩展)函数(不是扩展函数)函数第一个参数是传递接收者, 第二个参数传递的是 匿名扩展函数类型上面的代码我写了个匿名扩展函数变量, 可以代替函数, 而且使用方式很像源码:的使用场景使用对象本身数量有点多的时候, 可以考虑使用我们还可以使用 , 它底层使用的还是所以这样可以这样:它在返回的时候, 返回的是 String 类型扩展函
, 后面一般有连词从句开始于连接词, 结束于三个位置:One of the reasons why the appointment came as such a surprise, however, is that Gilbert is comparatively little known.找标点,看到两个逗号,后面一个逗号直接连接着谓语,判定他是一个插入语找到两个连词, why 和 thatwh








