1. 首页
  2. 编程语言
  3. Java
  4. Kotlin极简教程 (陈光剑)

Kotlin极简教程 (陈光剑)

上传者: 2018-12-25 12:48:50上传 PDF文件 5.47MB 热度 78次
Kotlin 是 JetBrains 团队开发的一门现代的、注重工程实用性的静态类型编程语言, JetBrains 团队以开发了世界上最好用的 IDE 而著称。Kotlin 于 2010 年推出,并在 2011 年开 源。Kotlin 充分借鉴并汲取了 Java、Scala、Groovy、C#、Gosu、JavaScript、Swift 等多门杰 出语言的优秀特性,语法简单优雅、表现力丰富、抽象扩展方便、代码可重用性好,同时也 支持面向对象和函数式编程的多范式编程。Kotlin 可以编译成 Java 字节码运行在 JVM 平台 和 Android 平台,也可以编译成 JavaScript 运行在浏览器环境,而且还可以直接编译成机器码 的系统级程序,直接运行在嵌入式、iOS、MacOS/Linux/Windows 等没有 JVM 环境的平台。 Kotlin 源自产业界,它解决了工程实践中程序设计所面临的真实痛点,例如,类型系统可以避 免空指针异常的问题。 我最早是被 Kotlin 的下面这段代码所吸引: package com.easy.kotlin fun compose(f: (B) -> C, g: (A) - > B): (A) -> C { return { x -> f(g(x)) } } fun isOdd(x: Int) = x % 2 != 0 fun length(s: String) = s.length fun main(args: Array) { val oddLength = compose(::isOdd, ::length) val strings = listOf("a", "ab", "abc") println(strings.filter(oddLength)) } 13 行。 这大约是在三年前,当时我在学习 Java 8 中的函数式编程以及 Lambda 表达式等新特性。 那时,我也对 Scala、Groovy、Clojure、Haskell 等技术很感兴趣,在伴随着兴趣的学习过程 中,我无意中看到了上面那段 Kotlin 代码,第一眼看到这么优雅的函数式编程风格,尤其是 compose 函数的定义实现,深深地吸引了我。 Swift 使用 func 关键字声明函数多个 c,怪怪的;Groovy、Scala 等语言使用 def 关键字, 与函数本义联想不直接;JavaScript 使用 function 关键字又显得死板了些。而 Kotlin 中的 fun 则简单优雅地恰到好处,关键还让人自然联想到“乐趣、开心、愉快”这样的意思,使用 Kotlin 每写一个函数都是充满乐趣的。 我们不妨来看看同样的逻辑实现,如果使用 Java 8 来写会如何: package com.easy.kotlin; import java.util.ArrayList; import java.util.List; interface G { B apply(A a); } interface F { C apply(B b); } interface FG { C apply(A a); } public class ComposeFunInJava { public static void main(String[] args) { G g = (s) -> s.length(); F f = (x) -> x % 2 != 0; FG fg = (x) -> f.apply(g.apply(x)); List strings = new ArrayList(); strings.add("a"); strings.add("ab"); strings.add("abc"); List result = new ArrayList(); for (String s : strings) { if (fg.apply(s)) { result.add(s); } } System.out.println(result); } } 36 行,差不多是 Kotlin 的 3 倍。
下载地址
用户评论
码姐姐匿名网友 2018-12-25 12:48:50

不完整只有100多页