
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
标准函数with、run和applywithwith函数接收两个参数:第一个参数可以是一个任意类型的对象,第二个参数是一个Lambda表达式。with函数会在Lambda表达式中提供第一个参数对象的上下文,并使用Lambda表达式中的最后一行代码作为返回值返回。示例代码如下:val result = with(obj) {// 这里是obj的上下文"value" // with函数的返回值}run
2.5.1 类与对象首先创建一个Person类。右击包→New→Kotlin File/Class,在弹出的对话框中输入“Person”。对话框在默认情况下自动选中的是创建一个File,File通常是用于编写Kotlin顶层函数和扩展函数的,我们可以点击展开下拉列表进行切换,如图所示。这里选中Class表示创建一个类,点击“OK”完成创建,会生成如下所示的代码:class Person {}这是一
接口接口是用于实现多态编程的重要组成部分。我们都知道,Java是单继承结构的语言,任何一个类最多只能继承一个父类,但是却可以实现任意多个接口,Kotlin也是如此。我们可以在接口中定义一系列的抽象行为,然后由具体的类去实现。下面还是通过具体的代码来学习一下,首先创建一个Study接口,并在其中定义几个学习行为。右击包→New→Kotlin File/Class,在弹出的对话框中输入“Study”,
Lambda编程1 集合的创建与遍历集合的函数式API是用来入门Lambda编程的绝佳示例,首先看看创建集合的方式。传统意义上的集合主要就是List和Set,再广泛一点的话,像Map这样的键值对数据结构也可以包含进来。List、Set和Map在Java中都是接口,List的主要实现类是ArrayList和LinkedList,Set的主要实现类是HashSet,Map的主要实现类是HashMap,
DSL 的全称是领域特定语言(Domain Specific Language),它是编程语言赋予开发者的一种特殊能力,通过它我们可以编写出一些看似脱离其原始语法结果的代码,从而构建出一种专有的语法结构。不管你有没有察觉到,其实长久以来你一直都在使用DSL 。 比如我们想要在项目中添加一些依赖库,需要在app/build.gradle 文件中编写如下内容:dependencies {impleme
Kotlin 基本数据类型Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。类型位宽度Double64Float32Long64Int32Short16Byte8字面常量下面是所有类型的字面常量:十进制:123长整型以大写的 L 结尾:123L16 进制以 0x 开头:0x0F2
1 字符串内嵌表达式首先来看一下Kotlin中字符串内嵌表达式的语法规则:"hello, ${obj.name}. nice to meet you!"可以看到,Kotlin允许我们在字符串里嵌入${}这种语法结构的表达式,并在运行时使用表达式执行的结果替代这一部分内容。另外,当表达式中仅有一个变量的时候,还可以将两边的大括号省略,如下所示:"hello, $name. nice to meet
泛型的基本用法泛型主要有两种定义方式,一种是定义泛型类,另一种是定义泛型方法,使用的语法结构都是。当然括号内的T并不是固定要求的,事实上你使用任何英文字母或单词都可以,但是通常情况下,T是一种约定俗成的泛型写法。如果要定义一个泛型类,就可以这么写:class MyClass<T> {fun method(param: T): T {return param}}在调用MyClass类和m
泛型实体化Java中的泛型是通过类型擦除机制来实现的,而Kotlin却允许将内联函数中的泛型进行实化。要将某个泛型实化需要两个前提条件。首先,该函数必须是内联函数才行,也就是要用inline关键字来修饰该函数。其次,在声明泛型的地方必须加上reified关键字来表示该泛型要进行实化。示例代码如下:inline fun <reified T> getGenericType() = T::
–(1)求选修了高等数学的学生学号和姓名。select s.sno,s.sname from student s,sc,course c where s.sno=sc.sno and sc.cno=c.cno and cname='高等数学';–(2)求C1课程的成绩高于李浩明的学生学号和成绩。select s.sno,grade from student s,sc where s.sno=sc.







