![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin学习笔记
文章平均质量分 92
kotlin学习过程中的随笔记录,目的是为了加深一下印象,都是一些基础知识,比较浅显。文中内容有不当之处,欢迎批评指正。
jameschen4540
android开发工程师。。。
展开
-
Kotlin学习(十):其他Kotlin技术
Kotlin学习(十):其他Kotlin技术数据解构数据解构,就是将对象中的数据解析成隔壁那个相应的独立变量,也就是脱离原来的对象而存在。var (name, age) = user在这行代码中,将user 对象的 name 和 age 属性解构了出来,分别赋给了 name 和 age 变量。如果要这样实现,那么 user 对象需要是数据类的实例。data class User(var name: String, var age: Int)这行代码是一个 User 数据类,该数据类有2个参数原创 2021-12-15 11:57:55 · 1326 阅读 · 0 评论 -
Kotlin学习(八):高阶函数与Lambda表达式
Kotlin学习(八):高阶函数与Lambda表达式Kotlin 函数都是头等的,这意味着它们可以存储在变量与数据结构中,并可以作为参数传给其他高阶函数以及从其他高阶函数返回。可以像操作任何其他非函数值一样对函数进行操作。为促成这点,作为一门静态类型编程语言的 Kotlin 使用一系列函数类来表示函数并提供一组特定的语言结构,例如 lambda 表达式。高阶函数高阶函数是将函数用作参数或返回值的函数。高阶函数的一个不错的示例是集合的函数式风格的 fold, 它接受一个初始累积值与一个接合函数,并通转载 2021-11-26 16:21:23 · 267 阅读 · 0 评论 -
Kotlin学习(七):函数
Kotlin学习(七):函数函数基本用法Kotlin 函数必须用 fun 关键字开头,后面紧跟着函数名,以及一对小括号,小括号中是函数参数列表,如果函数有返回值,在小括号后面加冒号 (:),冒号后面是函数的返回值类型。fun double(x: Int): Int { return 2 * x}调用函数使用传统方法:val result = double(2)调用成员函数使用点表示法:Stream().read() // 创建类 Stream 实例并调用 read()使用中缀原创 2021-11-26 16:22:15 · 1509 阅读 · 0 评论 -
Kotlin学习(九):内联函数
Kotlin学习(九):内联函数使用高阶函数会带来一些运行时的效率损失:每一个函数都是一个对象,并且会捕获一个闭包。 闭包那些在函数体内会访问到的变量的作用域。 内存分配(对于函数对象和类)和虚拟调用会引入运行时间开销。但是在许多情况下通过内联化 lambda 表达式可以消除这类的开销。 下述函数是这种情况的很好的例子。lock() 函数可以很容易地在调用处内联。 考虑下面的情况:lock(l) { foo() }编译器没有为参数创建一个函数对象并生成一个调用。取而代之,编译器可以生成以下代码:转载 2021-11-26 16:20:16 · 311 阅读 · 0 评论 -
Kotlin学习(六):对象和委托
Kotlin学习(六):对象和委托对象对象表达式在 Java 中,有 个匿名类的概念,也就是在创建类时,无须指定类的名字。匿名类用于方法的参数类型。基本理念是方法参数需要接收一个类或接口的实例,而这个实例只是在该方法中临时用一下,并没有必要单独定义一个类,或单独创建一个对象变量。 因此,就在传入方法参数值的同时创建了类的实例。下面的代码演示了 Java 中匿名类的使用。public class MyClass { public String name; public MyClass原创 2021-11-24 17:19:37 · 1802 阅读 · 0 评论 -
Kotlin学习(五):泛型
Kotlin学习(五):泛型泛型基础在学习泛型之前,首先要了解什么是泛型。现在先来举个 Java 的例子(换成 Kotlin 代码同样适用 )。 JDK 中,有一类列表对象,这些对象对应的类都实现了 List 接口。 List 中可以保存任何对象,下面创建 List 对象,并向其中添加数据的代码。List list = new ArrayList();list.add("abc");list.add(123);在这段代码中, List 对象保存了 String 和 Integer 类型。尽管这原创 2021-11-22 16:55:47 · 2047 阅读 · 0 评论 -
Kotlin学习(四):数据类和封闭类
Kotlin学习(四):数据类和封闭类数据类使用数据类数据类是 Kotlin 个语法糖。 Kotlin 编译器会自动为数据类生成 些成员函数,以提高开发效率。我们经常创建一些只保存数据的类。 在这些类中,一些标准函数往往是从数据机械推导而来的。在 Kotlin 中,这叫做 数据类 并标记为 data:data class User(var name: String, var age: Int) 编译器自动从主构造函数中声明的所有属性导出以下成员:equals()/hashCode() 对;原创 2021-10-28 14:46:10 · 900 阅读 · 0 评论 -
Kotlin学习(三):枚举类和扩展
Kotlin学习(三):枚举类和扩展枚举类枚举类基本用法在 Kotlin 中,枚举类型是以类的形式存在的,因此称为枚举类。下面的代码是最简单的枚举类定义方式。enum class Direction { NORTH, SOUTH, WEST, EAST}每个枚举常量都是一个对象。枚举常量用逗号分隔。那么如何使用枚举类呢?既然枚举类也是类,那么自然可以按使用类的方式使用枚举类,使用类的方式无外乎定义变量、初始化、判断变量是否相等这几样操作。下面的代码演示了枚举类是如何使用的://原创 2021-10-27 17:21:33 · 918 阅读 · 0 评论 -
Kotlin学习(二):类和接口
Kotlin学习(二):类和接口类声明在Kotlin中,类的声明与Java一样,也使用class关键字。class MyClass{ ...}类声明由类名、类头(指定其类型参数、主构造函数等)以及由花括号包围的类体构成。类头与类体都是可选的; 如果一个类没有类体,可以省略花括号。构造函数在Kotlin中,一个类可以有一个主构造函数( primary constructor )及多个次构造函数( secondary constructor )。主构造函数主构造函数是类头的一部分,紧原创 2021-10-27 11:48:40 · 590 阅读 · 0 评论 -
Kotlin学习(一):Kotlin基础知识
Kotlin基础知识定义变量常量在Kotlin中,定义变量时有以下几点与java不同:位置不同:在 Kotlin 中,数据类型要放到变量后面,并且用冒号(:)分隔,这正好和 Java 相反。变量和常量需要关键字:在 Kotlin 中,定义变量需要用 var 开头,定义常量需要用 val 。数据类型首字母:在 Kotlin 中,数据类型都以大写字母开头,而在 Java 中,一般只有类、接口等复杂数据类型的名字才采用首字母大写的方式。如果在定义变量时未进行初始化,就必须指定数据类型,如果在定义变量原创 2021-10-26 11:12:11 · 1634 阅读 · 0 评论