Kotlin(一) Hello world
LanyuanXiaoyao's Blog ヽ(✿゚▽゚)ノ

Kotlin(一) Hello world

2017-10-30

概述

Kotlin 是什么

Kotlin是一门把 Java 平台作为目标的新的编程语言。它简洁、安全、优雅而且专注于和 Java 代码间的互操作性。它几乎可以用于如今 Java 遍及的所有地方:服务器端开发、Android 应用开发和更多其他的方面。Kotlin 能够很好的与现有的Java 库和框架并存。而且,它运行的性能不亚于 Java 。 当然,我们关注的最大的一个特点就是Kotlin和Java的无缝配合,即我们无需改变现在的Java代码,可以直接增加Kotlin代码和Java代码一同编译一起运行,大大降低了我们使用Kotlin的门槛。

静态类型

Kotin 是一种静态类型的编程语言。这意味着在编译时就可以确定程序中每一个表达式的类型。编译器可以验证你所访问的对象中的方法和字段。

静态类型的一些好处:

  • 性能 由于不需要再运行时判断需要调用哪个方法,方法调用将会变得更快。
  • 可读性 编译器校验了程序的准确性,所以在运行时发生崩溃的可能性将会降低。
  • 可维护性 由于你能看到代码调用了什么类型的对象,使用不熟悉的代码将会变得更加容易。
  • 工具支持 静态类型使得可靠的重构、精确的代码填充和其他的IDE特性变得可能。

    类型特点

  • Kotlin支持可以为空的类型(nullable type),通过在编译时检查可能的空指针异常
  • Kotlin类型系统中的另一个新事物是它所支持的函数类型(functional types)

函数式编程

函数式编程的关键概念如下:

  • 函数是一等公民 把函数(行为块)看做是一个值。你可以把它存储在变量中,把它们作为一个参数进行传递或者从其他函数中返回它们。
  • 不变性 使用的是不可改变的对象。一旦它被创建,它的状态便不可更改。
  • 没有副作用 你使用的纯函数对于给定的相同输入将会返回相同的结果。同时,它不会修改其他对象的状态或者和外界进行交互。

    函数式编程的优点

  • 跟对应的指令式代码相比,函数式代码会更加优雅和简洁。因为把函数当做一个值将会给你带来更强大的抽象能力,这将避免你的代码出现冗余。
  • 多线程安全。多线程程序中的一个最大的错误来源是没有正确的同步的情况下修改了来自多个线程的同一个数据。如果你使用了不可修改的数据结构和纯函数,你可以确保不会出现不安全的修改。同时你不需要去设计复杂的同步方案。
  • 函数式编程意味着容易测试。没有副作用的代码通常更容易测试。函数能够被隔离测试而无需一堆安装代码来构造函数所依赖的完整环境。

    支持函数式编程的其它特性

  • 函数类型 允许函数接收作为参数的其他函数或者返回其他函数
  • lambda表达式 让你使用最小的模板分发代码
  • 数据类 为创建不可变值对象提供了精简的语法
  • API 标准库为以函数式风格使用对象和集合提供了丰富的API

安全

Hello world

通过一个Hello world来快速了解一个语言的基础结构是常见的做法

/**
 * Hello world 一个简单的main函数的写法
 *
 * 在Hello world中我们可以简单得发现一些关于kotlin的特点
 *
 * 函数可以放在文件的任意位置,不需要一个类包裹住它们
 * 行末可以省略分号
 * fun 声明函数的关键字
 * args: Array<String> 类型声明在参数后面,使用:(冒号)分隔
 * Array<String> 数组也只是一个类,不需要一种特别的方式来进行声明
 * print() 这是kotlin标准库中提供的语法,实际使用的仍然是System.out.println()
 *
 */
fun main(args: Array<String>) {
    print("Hello world")
}

可以看到kotlin语法的简洁,给我最深的印象就是,我们再也不用每次都非要写一个类来包住这个main方法了,这给了我不用每次都写一堆毫无意义的类名,比如工具类我们可以直接把各个方法都写在同一个文件里面


评论