![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
koltin学习笔记
mictoy_朱
循序渐进,学无止境。
物尽其用,人尽其能。
山有高下,人无贵贫。
展开
-
kotlin学习笔记之尾递归优化(tailrec)
尾递归递归:adj recursive;尾递归:Tail Recursion递归的一种特殊形式调用自身后无其他操作tailrec关键字提示编译器尾递归优化示例代码data class ListNode(val value:Int,var next:ListNode? = null)fun findListNode(head:ListNode?,value:Int):List...原创 2019-06-05 13:58:24 · 1978 阅读 · 0 评论 -
kotlin学习之高阶函数及常用基本高阶函数
基本概念 f(g(x))与普通函数不一样,高阶函数是传入或者返回函数的函数,例如,我们可能用到的forEach就是一个高阶函数示例代码:fun main() { val myOperate = AdvanceOperate() //定义实例 val operate1 = myOperate.multipleOperate(2,3){ //高阶函数调用 ...原创 2019-06-04 16:16:15 · 1465 阅读 · 0 评论 -
kotlin学习笔记之Lambda表达式
Lamabda表达式:匿名函数定义函数:Lambda表达式,也叫匿名函数传统kotlin写法表示一个函数fun sum(arg1:Int,arg2:Int):Int{ return arg1 + arg2}也可以如下写法fun sum2(arg1: Int,arg2: Int) = arg1 + arg2用Lambda表达式编码val sum3 = {arg1:Int...原创 2019-06-04 16:42:56 · 196 阅读 · 0 评论 -
Kotlin学习笔记之面向对象
面向对象接口定义与java一样,使用interface表示,示例代码:与java一样,kotlin定义类时要遵循单继承多实现的原则(即只能继承一个父类,可以实现多个接口)kotlin中定义的类和方法默认都是final的,不可重写,如果要实现重写,需将对应方法类声明为open示例代码:package com.zhusp.kotlinuseopen class Person{ //可...原创 2019-06-04 17:06:36 · 180 阅读 · 0 评论 -
kotlin学习笔记之闭包
闭包,函数式编程福音先了解函数式编程(Functional Programming)概念:它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。函数式编程语言最重要的基础是λ运算(Lambda表达式),λ运算的函数可以接受函数当做参数或返回值。对比函数式编程与面向对象编程面向对象编程(Object-oriented programming,缩写OOP)面向对象编程...原创 2019-06-11 15:12:36 · 3070 阅读 · 0 评论 -
kotlin学习笔记之复合函数f(g(x))
与高阶函数类似,复合函数的参数也是一个函数,不同的是,复合函数通过中缀表达式定义的函数,最终实现同参数及返回值的各种函数之间的复合运算。举个例子,实现复合函数m(x) = f(g(x))的运算函数//首先自定义函数f(x)和g(x)//g(x)val add5 = {i:Int->i+5}//f(x)val multiplyBy2 = {i:Int -> i*2}//首...原创 2019-06-11 15:13:35 · 1987 阅读 · 0 评论